bakeで生成された
PHP
1$user = $this->Users->get($id, [ 2 'contain' => ['アソシエーションするテーブル','アソシエーションするテーブル'] 3 ]);
を利用するとgroup_concatが実行できないため
以下のコードで実現しています。
PHP
1 public function view($id = null) 2 { 3$query = $this->Users->find('all',['contain' => ['アソシエーションするテーブル','アソシエーションするテーブル']]) 4 ->select([ 5 'カラム名','カラム名','カラム名','カラム名','カラム名','カラム名','カラム名', 6 'office' => 'group_concat(offices.name SEPARATOR ";")' 7 ] 8 ) 9 ->where([ 10 'users.id' => $id 11 ]) 12 ->group(['users.id']) 13 ; 14 $user = $query->toArray(); 15 16 $this->set('user', $user); 17 $this->set('_serialize', ['user']); 18 } 19 }
とした時、view側で
$user[0]->name
で取得しています。
問題があるか不安で、、、
他によい方法がありましたら、教えていただけると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/23 17:20