Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony2+;教义,在关系中发现_Php_Mysql_Entity Framework_Symfony_Doctrine Orm - Fatal编程技术网

Php Symfony2+;教义,在关系中发现

Php Symfony2+;教义,在关系中发现,php,mysql,entity-framework,symfony,doctrine-orm,Php,Mysql,Entity Framework,Symfony,Doctrine Orm,我正在考虑设计一个API,使用Symfony2中的fos_rest包和MySQL中的Doctrine来过滤对象。 假设我有一个主实体,它与具有某些属性的不同实体有关系。 现在在前端,我想创建一个过滤器,其中可以根据相关实体的属性过滤主实体。那怎么可能呢 说我们有 +---------------+ | Master Entity | +----+----------+ | id | name | +----+----------+ | 1 | Apple | +----+----

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

说我们有

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

我想要一个过滤器,在这里,我通过属性实体中的值进行过滤

我想做一些像

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

因此,它将返回ID=1的主实体的对象集合(apple)-因为这两个参数都将匹配apple

您可以创建一个查询生成器,而不是使用findBy

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

您可以创建查询生成器,而不是使用findBy

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