0

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

即使我对这些输入中的任何一个只有一个表值,它也能正常工作,因为至少会设置 $address 对象。

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

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

试图获取非对象的属性

我该如何解决这个问题?我知道使用类似 isset 的东西可以工作,但它会使我所有的输入字段变得混乱:

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

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

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

4

1 回答 1

0

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

于 2013-05-14T10:43:26.040 回答