普段、Laravelを主に使っていたのですが、CakePHPを業務で使用する機会があったので、備忘録として残します。
テーブルの$item_id
で検索を立てて、該当するレコードのname
を取得したいとします。
$results = $this->DataBases
->find()
->where([
'item_id' => $item_id,
]);
foreach ($results as $result) {
$arrayData[] = $result->name;
}
dd($arrayData);
//結果:arrayData[名前1, 名前2, 名前3]
とりあえずこれでもうまくいったのですが、せっかくなのでCakePHPを使い倒したい!
ということでCakePHPの場合、下記の方法でも取得することができます。
use Cake\Collection\Collection;
.
.
.
$results = $this->DataBases
->find()
->where([
'item_id' => $item_id,
]);
$arrayData = $collection->extract('site_id')->toList();
dd($arrayData);
LaravelでいうところのCollectionのpluckメソッドの使い方に近いかもしれません。
CakePHPのcollectionクラスも覚えれば楽しめそうですね^^