【发布时间】:2015-01-15 23:07:02
【问题描述】:
我在 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() }}
当$data 未定义时,Laravel 中是否有一种标准方法可以避免这种情况,使用我目前使用的模型绑定?还是我需要简单地使用一个变量来提前检查$data是否未定义?
【问题讨论】:
-
实际上,通过模型绑定,您应该可以只删除
$data->foo部分。该值将根据选择的名称(foo)设置。 -
啊!太棒了,我是 laravel 的新手,我不知道。您应该将此作为答案发布,以便我接受!