gpt4 book ai didi

database - 从 Symfony2 中的 2 个表中选择

转载 作者:搜寻专家 更新时间:2023-10-30 22:15:00 25 4
gpt4 key购买 nike

我在表单中进行查询。

想法是:现在我有一个包含所有用户的下拉列表,好吗?

我有这样的查询:

'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')->orderBy('u.lastName', 'ASC');
}

这完美无缺!

我不需要显示所有用户,而只需要与类别关联的用户。这个定义在“user_data”表中(user_id + category_id)。

所以,我需要做类似的事情:

SELECT * FROM users 
WHERE user_id IN (SELECT user_id FROM user_data WHERE category_id='2')

我没有任何看起来像 UserData 的实体,我只有 User.php,但在这个文件中我发现了这个:

/**
*@ORM\ManyToMany(targetEntity="My\Bundle\Entity\Data", inversedBy="users")
*@ORM\joinTable(name="user_data")
*/
protected $datas;

[...]

所以我看到建立了关系,但我不知道如何使用它来建立基于 2 个表的查询...

谁能帮我解决这个问题? :)

谢谢!

最佳答案

试试这个,

'query_builder' => function(EntityRepository $er) {
return $er->createQueryBuilder('u')
->innerJoin('u.datas', 'd')
->where('d.category = :category') // Check your Data entity to get the right field name
->setParameter('category', $yourCategoryId) // you could use options here
->orderBy('u.lastName', 'ASC');
}

另外,用你所有的实体(数据,......)更新你的问题

关于database - 从 Symfony2 中的 2 个表中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15021341/

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