フォームヘルパーによるセレクトでプルダウンリストを作成。
・a
・b
・c
・d
とある時に、bを選択してコントローラー側に送信した場合、'alpha'の値は2となりました。
プルダウンリストで選択した場所の数字が'alpha'に格納されているみたいなのですが、これを2ではなくbという文字を格納するようにしたいです。
テーブル:Alphas
id | name |
---|---|
1 | a |
2 | b |
3 | c |
4 | d |
ビューテンプレート:index.php
php
1 <div> 2 <?= $this->Form->select( 3 'alpha', 4 $alphas, 5 ['empty'=>' '] 6 ) ?> 7 </div>
コントローラー:AlphaStatusesController.php
php
1 public function index() 2 { 3 $this->Alphas = TableRegistry::getTableLocator()->get('Alphas'); // テーブル読み込み 4 $data = $this->Alphas->find('list', ['key' => 'id', 'value' => 'name'])->order(['id' => 'Asc']); // レコードのリストを取得、'id'と'name'のみ'id'の昇順で 5 $this->set('alphas', $data); // viewに渡す 6 }
配列が入った変数を使用しない場合は
php
1 <?= $this->Form->select( 2 'alpha', 3 ['a' => 'a', 4 'b' => 'b', 5 'c' => 'c', 6 'd' => 'd'], 7 ['empty'=>' '] 8 ) ?> 9 </div>
とすれば2ではなくbという文字を格納できるというのは調べて分かったのですが、今回変数を使用しているためどうやればいいか分かりません。
何か方法はあるのでしょうか?
あなたの回答
tips
プレビュー