バグ解消法、お役立ち情報など

CakePHPで簡単にセレクトボックスを作成する方法

logo

はじめに

CakePHPでは、ORMのfindメソッドを使うことで簡単にセレクトボックスを作ることができます。

実装例

以下のように実装できます。

まず、コントローラーでデータを取得します。

Controller
// コントローラーやテーブルのメソッド内で $this->set('data', $articles->find('list', [ 'keyField' => 'slug', // セレクトボックスのキー 'valueField' => 'label' // セレクトボックスの選択肢となる値 ])->toArray()); // data は下記のようになっています $data = [ 'first-post' => '最初の投稿', 'second-article-i-wrote' => '私が書いた2つ目の記事', ];

ビューでセレクトボックスを表示します。

View
<?= $this->Form->select( 'name', $data )?>

Formヘルパーのselectメソッドの第二引数に配列データを渡すだけで、セレクトボックスが作成できます!

データをいちいち整形する必要がないので、実装の手間がかからず楽です。

ドキュメントもご参照ください。

データの取り出しと結果セット - 4.x

バグ解消法、お役立ち情報など