gpt4 book ai didi

doctrine-orm - Doctrine - 如何检查集合是否包含实体

转载 作者:行者123 更新时间:2023-12-04 03:59:16 24 4
gpt4 key购买 nike

我有两个实体 UserArticle多对多关系为 Article可以有很多作者。

class User
{
/** @var string */
public $name;

/** @var Collection<Article> */
public $articles;
}

class Article
{
/** @var string */
public $title;

/** @var Collection<User> */
public $authors;
}

如何使用 DQL 查找具有指定(共同)作者的所有文章?

最佳答案

使用 MEMBER OF表达。

您的 DQL 查询可能喜欢

SELECT art FROM Article art WHERE :user MEMBER OF art.authors

或使用查询构建器
$queryBuilder = $repository->createQueryBuilder("art");
$queryBuilder->where(":user MEMBER OF art.authors");

或者,您可以加入和过滤集合
SELECT art FROM Article art JOIN art.authors aut WHERE aut = :user

或者
$queryBuilder = $repository->createQueryBuilder("art");
$queryBuilder->join("art.authors", "aut");
$queryBuilder->where("aut = :user");

关于doctrine-orm - Doctrine - 如何检查集合是否包含实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43073982/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com