2013-07-15 15 views
5

OK sau khi đọc tài liệu: http://four.laravel.com/docs/html#form-model-bindingLaravel 4 dạng mô hình ràng buộc Mẫu :: chọn

Tôi có một hình thức mà trông giống như sau:

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

Vấn đề của tôi là: Mô hình liên kết không hoạt động với Biểu mẫu :: chọn, hoạt động tốt với nhập văn bản. Tôi đang làm gì sai ??

Cảm ơn sự giúp đỡ của bạn.

Trả lời

10

Tôi nghĩ rằng tham số thứ 3 của mình trong nhu cầu chọn là giá trị được chọn:

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

Tôi biết nó kinda đánh bại mục đích ràng buộc mô hình nhưng nó sẽ thực sự làm việc. Vấn đề khác của khóa học là bây giờ bạn đã bị mất lớp học của bạn!

Nhưng nếu chúng ta có một cái nhìn nhanh chóng tại api:

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

Chúng tôi thấy rằng bạn có thể vượt qua mảng lựa chọn của bạn như là đối số thứ 4.

Do đó, mã làm việc là:

{{Mẫu :: chọn ('giới tính', array ('0' => 'giới tính gì không?', '1' => ' Nam', '2'=> 'Nữ'), $ profile-> giới tính, array ('lớp'=> 'span12'))}}

+0

Cảm ơn, hoạt động như sự quyến rũ. – user1543871

+0

Xin vui lòng giúp đỡ :) – kJamesy

+0

Cảm ơn dude, đã giúp rất nhiều! – Brent

6

kJamesy là đúng, tham số thứ ba phải là giá trị đã chọn, nhưng nếu bạn đặt giá trị đó thành giá trị rỗng, thì ràng buộc mô hình biểu mẫu sẽ đặt giá trị mặc định.

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