Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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 Doctrine2如果对象在数组列表中,如何选择它(最简单的方法)?_Php_Symfony_Doctrine Orm - Fatal编程技术网

Php Doctrine2如果对象在数组列表中,如何选择它(最简单的方法)?

Php Doctrine2如果对象在数组列表中,如何选择它(最简单的方法)?,php,symfony,doctrine-orm,Php,Symfony,Doctrine Orm,我的问题是,如果对象位于给定的阵列lsit中,如何从实体中选择该对象? 在构建查询时,我会使用in语句,但如何使用生成器 例如,我有这样的东西: $query = $this->getEntityManager()->createQueryBuilder(); $query ->select('a, c') ->from('ApplicationsBundle:Application', 'a

我的问题是,如果对象位于给定的阵列lsit中,如何从实体中选择该对象? 在构建查询时,我会使用in语句,但如何使用生成器

例如,我有这样的东西:

$query = $this->getEntityManager()->createQueryBuilder();
        $query
                ->select('a, c')
                ->from('ApplicationsBundle:Application', 'a', 'a.Name')
                ->innerJoin('a.categories', 'c');

        $results = $query->getQuery()->getResult();
它给了我一个数组,其中keys=应用程序名称和该应用程序的元素类别 它的两个表A应用和类别与n:m有关

仔细看看我的问题: 我需要类似的东西,因为我有一个来自不同来源的应用程序lsit名称参数,我想分类显示。 例如:

Category 1:
app1, app2, app3
Category 2:
app3, app4
Other (no category):
app5

你有没有想法把它做得尽可能简单?

添加这一行->where$query->expr->in'a.Name',$appNames,是否正确;您是否尝试从类别中选择并加入应用程序?如果你的映射是双向的,那么你会有一个类别列表和相关的应用程序。这也可以,但是如何知道哪些应用程序有类别,哪些没有?最后是否显示没有类别?因为您使用的是innerJoin,所以我会创建一个名为Other的类别,例如,用于存储每个没有类别的应用程序。问题是我不能这样做。因为我不管理新的应用程序添加之类的东西。