dongliang2005 2016-05-13 09:08
浏览 28

(doctrine2查询构建器)如何创建嵌套数组或结构?

i created a query with that querybuilder from doctrine2:

   $result = $this->createQueryBuilder('a')
                 ->select('a.id, a.title, a.createdAt, t.name as tags, ac.content, ac.contentType, u.username')
                 ->join('AppBundle\Entity\ArticleContent', 'ac', 'WITH', 'a.id = ac.article_id')
                 ->join('AppBundle\Entity\User', 'u', 'WITH', 'a.user_id = u.id')
                 ->join('AppBundle\Entity\Tag', 't', 'WITH', 't.name LIKE :name')
                 ->setMaxResults($maxResults)
                 ->setParameter('name', $name)
                 ->getQuery()
                 ->getArrayResult();

i created a array that looks like this:

    array (size=4)
  0 => 
    array (size=7)
      'id' => int 1
      'title' => string 'PHP' (length=3)
      'createdAt' => string '2016-05-12 11:36:13' (length=19)
      'tags' => string 'TDD' (length=3)
      'content' => string 'Lorem Ipsum' (length=11)
      'contentType' => string 'Code' (length=4)
      'username' => string 'Test user1' (length=10)
  1 => 
    array (size=7)
      'id' => int 2
      'title' => string 'JAVA' (length=4)
      'createdAt' => string '2016-05-12 11:36:13' (length=19)
      'tags' => string 'OOP' (length=3)
      'content' => string 'Lorem Ipsum' (length=11)
      'contentType' => string 'Media' (length=4)
      'username' => string 'Test user' (length=9)
  2 => 
    array (size=7)
      'id' => int 1
      'title' => string 'PHP' (length=3)
      'createdAt' => string '2016-05-12 11:36:13' (length=19)
      'tags' => string 'TDD' (length=3)
      'content' => string 'Lorem Ipsum' (length=11)
      'contentType' => string 'Code' (length=4)
      'username' => string 'Test user1' (length=10)
  3 => 
    array (size=7)
      'id' => int 2
      'title' => string 'JAVA' (length=4)
      'createdAt' => string '2016-05-12 11:36:13' (length=19)
      'tags' => string 'OOP' (length=3)
      'content' => string 'Lorem Ipsum' (length=11)
      'contentType' => string 'Media' (length=4)
      'username' => string 'Test user' (length=9)

But I want to create a array that looks like this:

array (size=5)
  0 => 
    array (size=7)
      'id' => int 1
      'title' => string 'PHP' (length=3)
      'createdAt' => string '2016-05-12 11:36:13' (length=19)
      'tags' => string 'TDD' (length=3)
      'contents' => array (size=2)
                         array (size=2)
                            'content' => string 'Lorem Ipsum' (length=11)
                            'contentType' => string 'Code' (length=4)
                         array (size=2)
                            'content' => string 'Lorem Ipsum' (length=11)
                            'contentType' => string 'Media' (length=4)
      'username' => string 'Test user1' (length=10)

How can i create that with doctrine2? Is there any way to doing that.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
    • ¥20 关于URL获取的参数,无法执行二选一查询
    • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
    • ¥15 marlin编译错误,如何解决?
    • ¥15 有偿四位数,节约算法和扫描算法
    • ¥15 VUE项目怎么运行,系统打不开
    • ¥50 pointpillars等目标检测算法怎么融合注意力机制
    • ¥20 Vs code Mac系统 PHP Debug调试环境配置
    • ¥60 大一项目课,微信小程序
    • ¥15 求视频摘要youtube和ovp数据集