2016-09-21 53 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] 
       ]);