2016-09-21 35 views
0

我遇到查询cakephp3.x的问题。我想要返回数据有像project_id返回一个列表名称project_id内, 但是project_id是unique.unduplicated project_id。 对不起,我的english.please帮助。查询获取cakephp 3中的数据3

$result = $query->find('all', [ 
         'fields' => [ 
          'project_id' => 't_project_member.project_id', 
          'project_name' => 't_project.name', 
          'member_name' => 'concat(t_member.first_name," ",t_member.last_name)' 
         ], 
         'join' => [ 
          ['table' => 't_project', 
          'type' => 'LEFT', 
          'conditions' => 't_project.id = t_project_member.project_id'], 

          ['table' => 't_member', 
          'type' => 'LEFT', 
          'conditions' => 't_member.id = t_project_member.member_id'], 

         ], 
         'conditions' => ['t_project.id' => $project_id] 
       ]); 

结果:

{ 
"result": [ 
    { 
     "project_id": 4, 
     "project_name": "Ueno Rebrand : Business cards #1", 
     "member_name": "User_3 c" 
    }, 
    { 
     "project_id": 4, 
     "project_name": "Ueno Rebrand : Business cards #1", 
     "member_name": "User_4 d" 
    }, 
    { 
     "project_id": 4, 
     "project_name": "Ueno Rebrand : Business cards #1", 
     "member_name": "User_5 e" 
    }, 
    ] 
} 

我要像下面的返回数据。

{ 
"result": [ 
    { 
     "project_id": 4, 
     "project_name": "Ueno Rebrand : Business cards #1", 
     "member_name": { 
         "User_3 c", 
         "User_4 d", 
         "User_5 e 
         } 
    }, 
    ] 
} 

非常感谢。

+0

集团通过'project_id',可能是这种帮助 – Karan

+0

可能的复制[CakePHP的和GROUP BY(http://stackoverflow.com/questions/2929666/cakephp-and-group-by) –

回答

0
$result = $query->find('all', [ 
         'fields' => [ 
          'project_id' => 't_project_member.project_id', 
          'project_name' => 't_project.name', 
          'member_name' => 'concat(t_member.first_name," ",t_member.last_name)' 
         ], 
         'join' => [ 
          ['table' => 't_project', 
          'type' => 'LEFT', 
          'conditions' => 't_project.id = t_project_member.project_id'], 

          ['table' => 't_member', 
          'type' => 'LEFT', 
          'conditions' => 't_member.id = t_project_member.member_id'], 

         ], 
         'group' => '`t_project_member`.`project_id`', 
         'conditions' => ['t_project.id' => $project_id] 
       ]);