我有一个配置文件编辑页面,其中包含多个字段,如下所示。如果用户具有地址,则由用户地址的表值填充这些值。
即使我对这些输入中只有一个表值,一切正常,因为$ 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,因为即使根本没有地址,我仍然需要用户才能设置它们。
答案 0 :(得分:0)
在您的控制器中,如果用户没有地址,您可以分配一个新的(空)地址并将其传递到您的视图,这样表单不会失败,并且您的模板中不需要额外的逻辑