Laravel 7-如何将请求数组循环到控制器,以便使用雄辩的
请提供帮助,因此我想使用foreach在我的控制器中使用Eloquent循环并将数据附加到数据库,我将这是解析后的数据作为数组传递: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 ---------------
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);