2013-07-15 43 views
5

OK:http://four.laravel.com/docs/html#form-model-bindingLaravel 4表單模型約束力的形式::閱讀文檔後,選擇

我有一個看起來是這樣一種形式:

{{ 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

我覺得在選擇您需要第三個參數是選擇的值:

{{ 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()) 

我們看到,你可以通過你的選擇數組作爲第四個參數。

因此,工作的代碼是:

{{表格::選擇( '性別',陣列( '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() }}