簡體   English   中英

如何在用於編輯/創建的Laravel Blade模板中顯示下拉列表的“選定”值?

[英]How to display 'selected' value of dropdown in Laravel Blade template used for both edit/create?

我在Laravel 4視圖中使用Blade模板來顯示用於創建和編輯的表單,在我必須呈現select輸入類型之前,一切工作正常-編輯時可以,但是在創建新記錄時出現錯誤消息Undefined variable: data ,由最后第二行中的“ selected”值觸發(最后一個參數傳遞給Form::select()

@if( isset( $data) )
    {{ Form::model( $data ) }}
@else
    {{ Form::open() }}
@endif

    {{ Form::label( 'foo', 'label text' ) }}
    {{ Form::select( 'foo' , array('0' => 'No', '1' => 'Yes'), $data->foo ); }}
{{ Form::close() }}

Laravel中有沒有一種標准方法來避免在沒有定義$data時使用我到目前為止使用的模型綁定? 還是我需要簡單地使用變量來預先檢查$data是否未定義?

表單模型綁定的全部目的是您不必自己在輸入字段上設置值。 您只需將value參數保留為空白,Laravel就會根據選擇,輸入等的name來填充值。

{{ Form::select( 'foo' , array('0' => 'No', '1' => 'Yes')); }}

您也可以刪除isset($data)檢查,因為Laravel也可以這樣做:

{{ Form::model( $data ) }}
    {{ Form::label( 'foo', 'label text' ) }}
    {{ Form::select( 'foo' , array('0' => 'No', '1' => 'Yes')); }}
{{ Form::close() }}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM