如果未设置旧输入,请选择默认值


Select default value if no old input is set

我正在使用表单模型绑定,并有以下选择输入:

{!! Form::select('user_id', $users, old('user_id') ?: Auth::id(), ['class' => 'form-control select2 users']) !!}

我想完成以下任务:

  • 在创建表单中:选择user_id等于已验证用户ID的选项,如果会话中有旧输入,请选择该选项
  • 在编辑表单中:始终选择存储在模型中的选项

old('user_id') ?: Auth::id()在编辑时似乎不起作用,因为它总是选择经过身份验证的用户的选项,而不是存储在模型中的选项。

我相信你已经有了这条线,

  {!! Form::Model($users, ['route' => ['admin.user.update', $user->id], 'method' => 'PUT']) !!}

那么你的代码应该是这样的:

{!! Form::select('user_id', $users, isset($selectedUser) ? $selectedUser : null) !!}

在Create函数中,不要将$selectedUser传递给视图,而是在会话中传递id,在编辑函数中,应该将$selected user传递给查看,即Auth::user()->id