Laravel 7-如何将请求数组循环到控制器,以便使用雄辩的

Laravel 7-如何将请求数组循环到控制器,以便使用雄辩的,laravel,foreach,eloquent,Laravel,Foreach,Eloquent,请提供帮助,因此我想使用foreach在我的控制器中使用Eloquent循环并将数据附加到数据库,我将这是解析后的数据作为数组传递: array:3 [▼ 0 => "3" 1 => "7" 2 => "9" ] 我想循环(foreach)并使用attach()将其保存到表中,这样就可以用相同的ID一次性保存,如下所示: Course_ID | Facilitator_Id ---------------

请提供帮助,因此我想使用foreach在我的控制器中使用Eloquent循环并将数据附加到数据库,我将这是解析后的数据作为数组传递:

array:3 [▼
  0 => "3"
  1 => "7"
  2 => "9"
]
我想循环(foreach)并使用attach()将其保存到表中,这样就可以用相同的ID一次性保存,如下所示:

Course_ID | Facilitator_Id
--------------------------
1         | 2
1         | 3
1         | 4
--------------------------
这是一片刀片:

<form method="POST" action="{{ '/courses' }}" enctype="multipart/form-data">
...
                            <div class="form-group row">
                            <label class="col-3" for="fasil_id">Fasilitator</label>
                            <div class="col-9">
                                <select class="form-control @error('fasil_id') is-invalid @enderror bootstrap-select" data-style="btn-white" multiple name="fasil_id[]" selected="{{ old('fasil_id') }}" required autocomplete="fasil_id">
                                 @foreach($facilitators as $data)
                                  <option value="{{$data->id}}">{{$data->nama}}</option>
                                 @endforeach
                                </select>
                                @error('fasil_id')
                                <span class="invalid-feedback" role="alert">
                                    <strong>{{ $message }}</strong>
                                </span>
                                @enderror
                            </div>
                        </div>
...
</form>
但遗憾的是,我总是会犯这样的错误:

htmlspecialchars() expects parameter 1 to be string, array given
在您的
开始标记中,您正在设置
selected=“{{old('fasil_id')}}”

但是由于
fasil_id
是一个数组,因此不能将其设置为
所选的
值,并且
{{}
不能打印它。
尝试删除
selected=“{{old('fasil\u id')

作为旁注: 您可以将数组传递给
attach()
方法,这样就不需要在这里循环。 就这样做吧:

 Course::find($id)->facilitators()->attach($request->fasil_id); 

不要使用
->attach([$fasil\u id])
使用
->attach($fasil\u id)
。哇,它真的很有效!谢谢你的帮助,我不知道你可以使用attach()传递数组而不进行循环,再次感谢
 Course::find($id)->facilitators()->attach($request->fasil_id);