在laravel中使用表值填充输入

时间:2013-05-14 09:54:05

标签: input coding-style laravel isset laravel-3

我有一个配置文件编辑页面,其中包含多个字段,如下所示。如果用户具有地址,则由用户地址的表值填充这些值。

即使我对这些输入中只有一个表值,一切正常,因为$ address对象至少会被设置。

{{ Form::label('firstname', 'First Name') }}
{{ Form::text('firstname', $address->firstname, array('placeholder' => 'Please provide a first name')) }}

当我有绝对没有$地址值时(该用户的地址表中绝对没有行)我显然收到错误:

  

尝试获取非对象的属性

如何解决这个问题呢?我知道使用像isset这样的东西,但它会把我所有的输入字段弄得一致:

{{ Form::text('firstname', @if(isset($address))$address->firstname @endif, array('placeholder' => 'Please provide a first name')) }}

(不知道这是否是正确的语法,但你明白了。)

我不能只在标签和输入周围抛出一个isset,因为即使根本没有地址,我仍然需要用户才能设置它们。

1 个答案:

答案 0 :(得分:0)

在您的控制器中,如果用户没有地址,您可以分配一个新的(空)地址并将其传递到您的视图,这样表单不会失败,并且您的模板中不需要额外的逻辑