使用 WhereNotIn 和 pluck 不会在编辑刀片中显示旧值?

问题描述

我确切地知道 Wherenotin 是如何工作的,但我仍然需要它来使我的列表删除所采用的值,在我的情况下,我想使用 Wherenotin 进行编辑并显示我的值选择之前 + 未取值

有没有办法实现它??我的代码没有问题,只是我想进一步改进它并在编辑中显示旧值。

代码控制器


   public function edit(Request $request,$id)
    {
        $assign = Assign::find($id);
    $pos = Pos::wherenotin('id',$assign->pluck('pos_id'))->get();
     $fast = Fast::wherenotin('id',$assign->pluck('fast_id'))->get();

        return view('assign.edit',compact('assign','pos','fast'));
    }
    public function update(Request $request,Assign $assign)
    {
      $request->validate([
             'pos_id'        => 'required|unique:assigns','fast_id'              => 'required|unique:assigns',]);
        $assign->fast_id= $request->fast_id;
        $assign->pos_id= $request->pos_id;
        $assign->save();
        return back()->with('status','assigned info has been updated successfully.');
    }

我想在编辑时显示我的旧值的刀片

<select class="form-control" id="pos_id" name="pos_id" required>
@foreach($pos as $po)
<option value="{{$po->id }}" > 
    {{  ' - S/N: (' . $po->serial_number  . ') '  }}
</option>
@endforeach
</select>
////

@foreach($fast as $fa)
<option value="{{$fa->id }}" >
    {{  ' - S/N: (' . $fa->serial_number  . ') '  }}
</option>
@endforeach

当我使用这一行向我显示旧值时,将选择列表的最后一个值,它甚至没有被采用

@foreach($pos as $po)
<option value="{{$po->id }}"   {{ $assign->pos_id ? 'selected' : '' }}> 
    {{  ' - S/N: (' . $po->serial_number  . ') '  }}
</option>
@endforeach


解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)