Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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,symfony2中的父级对所有结果进行分组_Php_Arrays_Symfony_Doctrine Orm - Fatal编程技术网

Php 按doctrine2,symfony2中的父级对所有结果进行分组

Php 按doctrine2,symfony2中的父级对所有结果进行分组,php,arrays,symfony,doctrine-orm,Php,Arrays,Symfony,Doctrine Orm,我试图检索表中的所有实体,但这些实体是按它们的父对象在数组中分组的 如果我有一个具有父类别的类别,例如: id name parent 我希望结果按父项分组。。因此,我可以像这样与他们合作: array( 0 => array( array( id => 1, name => name1), array( id => 2, n

我试图检索表中的所有实体,但这些实体是按它们的父对象在数组中分组的

如果我有一个具有父类别的类别,例如:

id
name
parent
我希望结果按父项分组。。因此,我可以像这样与他们合作:

array(
  0 => array(
          array(
            id => 1, 
            name => name1), 
          array(
            id => 2, 
            name => name2)),
  1 => array(
          array(
            id => 3, 
            name => name3), 
          array( 
            id => 4, 
            name => name4)))

等等。。。有什么东西可以让我这样工作吗?

最终还是这样做了。。。不是最好的,但目前仍有效:

$metas = $CMMRepo->findBy(array(
            'communityMedia' => $cores,
            'typeMeta'       => $type,
            'parent'         => null));

foreach ($metas as $meta) {
    $meta->children = $CMMRepo->findBy(array(
        'parent' => $meta->getId()),
         array('id' => 'DESC'));
    $media[] = $meta;

}

注意“子项”

父项是简单字段还是引用另一个表的字段?(与类别和产品类似)父项是表示同一表的ID的字段。(和类别一样,父类应该是该类别的父类)似乎是一个有趣的问题。如果您的问题是类别引用子类别(而不是类别引用类别),我建议您获取类别并循环它们以获取每个类别引用的子类别。嗯,让我想想……我觉得有可能。如果
选择
不同的
父项
字段,然后循环它们(可能使用延迟加载功能)以检索每个父项的所有结果。。。能用吗?终于这样做了。。。我知道这不是最好的。。但是有效:$metas=$dealFlowCMM->findBy(数组('communityMedia'=>$cores,'typeMeta'=>$type,'parent'=>null));foreach($metas as$meta){$meta->children=$dealFlowCMM->findBy(数组('parent'=>$meta->getId()),数组('id'=>'DESC');$media[]=$meta;}