Laravel select2/select 中的旧($field)返回错误值

Laravel old($field) in select2/select returning wrong value

以下代码 returns 始终将第一个值作为 selected,而不是空值!

<select class="select2" autocomplete="off" name="{{$field_name}}">
   <option></option>
   @foreach(explode(',', "a,b,c") as $key=> $value)
     <option value='{{$key}}' @if (old($field_name) == $key) selected="selected" @endif>{{$value}}</option>
   @endforeach
</select>

不知何故,使 select 语句的 old($field_name) == $key returns 0 总是将第一个选项作为 selected,而不是例如占位符。

即使 old($field_name) on its own returning ""

知道如何解决这个问题吗?

基于 '' == 0 = true'' === 0 = false

的结论
<select class="select2" autocomplete="off" name="{{$field_name}}">
   <option></option>
   @foreach(explode(',', "a,b,c") as $key=> $value)
         <option value='{{$key}}' @if(!is_null(old($field_name)) && old($field_name) == $key) selected='selected' @endif>{{$value}}</option>
   @endforeach
</select>

将解决问题