2013-07-15 6 views
5

を選択:::http://four.laravel.com/docs/html#form-model-bindingLaravel 4形モデルは、ドキュメントを読んだ後、[OK]

私はこのようになりますフォームがあります。

{{ Form::model($profile, array('action' => '[email protected]', $profile->user_id, 'files' => true)) }} 
{{ Form::select('gender', array('0' => 'What gender are you?', '1' => 'Male', '2' => 'Female'), array('class' => 'span12')) }} 
{{ From::close() }} 

を私の問題は、次のとおりです。モデルバインディングが動作しませんForm :: selectは、テキスト入力に適しています。私は何を間違えているのですか?

ありがとうございました。

答えて

10

私が選択ニーズのあなたの3番目のパラメータは、選択した値であることを考える:

{{ Form::select('gender', array('0' => 'What gender are you?', '1' => 'Male', '2' => 'Female'), $profile->gender) }} 

私はそれがちょっと結合モデルの目的に反し知っているが、それは実際に動作します。他の問題は、今あなたがクラスを失ったことです!

しかし、我々は、APIで簡単に見ている場合:

select(string $name, array $list = array(), string $selected = null, array $options = array()) 

を我々はあなたが4番目の引数として、あなたのオプションの配列を渡すことができることがわかります。

したがって、作業コードは次のとおりです。

{{フォーム::選択( '性別'、配列( '0' => 'どのような性別、あなたをしている?'、 '1' => "男性」、 '2' => '女性')、$プロフィール - >性別、アレイ( 'クラス' => 'span12'))}}

+0

ありがとうございます、魅力的です。 – user1543871

+0

喜んでお手伝いします:) – kJamesy

+0

ありがとうございました。 – Brent

6

kJamesyが右である、第三のパラメータがなければなりません選択した値がnullに設定されている場合は、フォームモデルのバインドがデフォルト値に設定されます。

{{ Form::model($profile, array('action' => '[email protected]', $profile->user_id, 'files' => true)) }} 
{{ Form::select('gender', array('0' => 'What gender are you?', '1' => 'Male', '2' => 'Female'), null, array('class' => 'span12')) }} 
{{ From::close() }} 
関連する問題