Cakephp WEB開発

[Cakephp4] find('list')でキー・値ペアを自由に組み合わせて取得する

※本サイトはPR表記を含みます。

Cakephp4では、$this->Models->find('list')でリスト形式の値が取得できます。

デフォルトでは該当テーブルの主キーがkeyになり、valueはTableで自由に$this->setDisplayField('label')でセットすることができます。

もし、それ以外のkeyやvalueにしたい場合は、データをごにょごにょする必要はなく、

// コントローラーなどのメソッド内で
$query = $this->Models->find('list', [
    'keyField' => 'id',
    'valueField' => 'name',
]);

$data = $query->toArray();

コードにあるようにkeyFieldvalueFieldに任意のテーブルカラムを設定するだけで、シンプルに['key' => 'value']という形で取得できます。

便利なのでお気軽にどうぞ。

-Cakephp, WEB開発
-