带有条件默认值的 Laravel old() 指令



我正在使用Laravel 5.8,并且有几个输入字段,当然每个value="标签上都有一个old((指令。

这是我现在的例子:

<input class="form-control input-md" name="contact_name" type="text" value="@if($edit){{ $ad->contact_name }}@else{{ old('contact_name')}}@endif">

我现在,如果我使用它:{{ old('contact_name', "John")}}

默认值将为"约翰">

但是我想检查是否有用户登录并使用用户联系人姓名预填充该输入。

我的想法是这样的:

value="@if($edit){{ $ad->contact_name }}@else{{ old('contact_name', Auth::user()->name)}}@endif

它有效!但是,当然,它会抛出:当我得到一个隐身窗口时,它会抛出Trying to get property 'name'

那么,如何评估登录用户并预填充它呢?

您可以使用可选帮助程序:

{{ old('contact_name', optional(Auth::user())->name) }}

最新更新