PHP
1//Hoges.Contoroller.php 2->select([ 3'id','dal01','dal02','dal03','dal04','dal05','dal06','dal07','dal08','dal09','dal10','dal11','dal12','dal13','dal14', 4'dal15' => 'group_concat(Dal_List1s.Ms_azdal1 SEPARATOR ";")', 5'dal16' => 'group_concat(Dal_List2s.Ms_azdal2 SEPARATOR ";")', 6] 7 ) 8->join([ 9'table' => 'dal_list1s', 10'type' => 'LEFT', 11'conditions' => 'dal_list1s.datacklist_id = datacklists.id' 12 ]) 13->join([ 14'table' => 'az_dal1s', 15'type' => 'LEFT', 16'conditions' => 'az_dal1s.id = dal_list1s.ms_azdal1' 17 ]) 18->join([ 19'table' => 'dal_list2s', 20'type' => 'LEFT', 21'conditions' => 'dal_list2s.datacklist_id = datacklists.id' 22 ]) 23->join([ 24'table' => 'az_dal2s', 25'type' => 'LEFT', 26'conditions' => 'az_dal2s.id = dal_list2s.ms_azdal2' 27 ]) 28->where([ 29'datacklists.id' => $id 30 ]) 31->group(['datacklists.id']); 32 33$datacklist = $query->first();
取得されているgroup_concat
の箇所
'dal15' => '3;5;6;3;5;6;3;5;6', 'dal16' => '4;4;4;5;5;5;6;6;6',
レコードが9行、生成されているため
このような現象になっているかと、、、
'dal15' => '3;5;6;', 'dal16' => '4;5;6',
と取得したいです。
発行しているSQL文は以下です。
SQL
1SELECT 2 Datacklists.id AS `Datacklists__id`, 3 Datacklists.dal01 AS `Datacklists__dal01`, 4 Datacklists.dal02 AS `Datacklists__dal02`, 5 Datacklists.dal03 AS `Datacklists__dal03`, 6 Datacklists.dal04 AS `Datacklists__dal04`, 7 Datacklists.dal05 AS `Datacklists__dal05`, 8 Datacklists.dal06 AS `Datacklists__dal06`, 9 Datacklists.dal07 AS `Datacklists__dal07`, 10 Datacklists.dal08 AS `Datacklists__dal08`, 11 Datacklists.dal09 AS `Datacklists__dal09`, 12 Datacklists.dal10 AS `Datacklists__dal10`, 13 Datacklists.dal11 AS `Datacklists__dal11`, 14 Datacklists.dal12 AS `Datacklists__dal12`, 15 Datacklists.dal13 AS `Datacklists__dal13`, 16 Datacklists.dal14 AS `Datacklists__dal14`, 17 group_concat( 18 Dal_List1s.Ms_azdal1 SEPARATOR ";" 19 ) AS `dal15`, 20 group_concat( 21 Dal_List2s.Ms_azdal2 SEPARATOR ";" 22 ) AS `dal16` 23FROM 24 datacklists Datacklists 25 LEFT JOIN dal_list1s ON dal_list1s.datacklist_id = datacklists.id 26 LEFT JOIN az_dal1s ON az_dal1s.id = dal_list1s.ms_azdal1 27 LEFT JOIN dal_list2s ON dal_list2s.datacklist_id = datacklists.id 28 LEFT JOIN az_dal2s ON az_dal2s.id = dal_list2s.ms_azdal2 29WHERE 30 datacklists.id = '2' 31GROUP BY 32 datacklists.id 33LIMIT
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/24 04:33
2017/02/24 05:44 編集
2017/02/24 05:42