gpt4 book ai didi

php - Symfony2 + Doctrine,在关系中找到

转载 作者:行者123 更新时间:2023-11-30 22:11:43 25 4
gpt4 key购买 nike

我正在考虑设计一个 API 来使用 Symfony2 中的 fos_rest 包和 MySQL 中的 Doctrine 来过滤对象。假设我有一个主实体,它与具有某些属性的不同实体有关系。现在在前端我想创建一个过滤器,在这里可以通过相关实体的属性过滤主实体。那怎么可能呢?

说我们有

+---------------+
| Master Entity |
+----+----------+
| id | name |
+----+----------+
| 1 | Apple |
+----+----------+
| 3 | Berry |
+----+----------+


+-------------------+
| Property Entity |
+----+------+-------+
| id | id_m | value |
+----+------+-------+
| 1 | 1 | green |
+----+------+-------+
| 2 | 1 | yello |
+----+------+-------+
| 3 | 1 | red |
+----+------+-------+
| 4 | 3 | pink |
+----+------+-------+

我想要一个过滤器,我可以在其中按属性实体中的值进行过滤

我想做类似的事情

$em->getRepository('AcmeBundle\MasterEntity')->findBy(array("PropertyEntity:value" => "red","PropertyEntity:value" => "yello"))

所以它会返回 ID=1 (apple) 的 Master Entity 的对象集合——因为两个参数都匹配 Apple

最佳答案

您可以创建查询构建器而不是使用 findBy

$qb->select('m')
->from('AcmeBundle\MasterEntity', 'm')
->join('m.PropertyEntity', 'p')
->where('p.value IN (:values)')
->setParameter('values',['red','yellow']);

关于php - Symfony2 + Doctrine,在关系中找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39918795/

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