CakePHPで簡単にセレクトボックスを作成する方法
はじめに
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
メソッドの第二引数に配列データを渡すだけで、セレクトボックスが作成できます!
データをいちいち整形する必要がないので、実装の手間がかからず楽です。
ドキュメントもご参照ください。