это мой код модели видео
class Video extends Model
{
protected $table = 'lokit_video';
protected $fillable =
[
'title',
'cover_img',
'trailer',
'url',
'order_',
'active',
'description',
'lokit_category_id',
'duration'
];
public function lokit_category(): BelongsTo
{
return $this->belongsTo(Category::class);
}
public function video_series()
{
return $this->hasMany(VideoSeries::class, 'lokit_video_id');
}
}
это мой код модели VideoSeries
class VideoSeries extends Model
{
protected $table = 'lokit_video_series';
protected $fillable = [
'lokit_video_id',
'lokit_series_id',
'series',
];
public function lokit_video(): BelongsTo
{
return $this->belongsTo(Video::class, 'lokit_video_id');
}
public function serie(): BelongsTo
{
return $this->belongsTo(Series::class, 'lokit_series_id');
}
}
в моем контроллере кода
public function update(Request $request,$id) {
$data = $request->all();
$validator = Validator::make($data, [
'title' => 'required',
'order_' => 'required',
'active' => 'required',
'url' => 'required',
'category' => 'required'
]);
$errors=$validator->errors();
if ($validator->fails()) {
return Redirect::to('admin/video/video/'.$id.'/edit')
->withErrors($errors)
->withInput();
}
$data['lokit_category_id'] = $data['category'];
unset($data['category']);
DB::beginTransaction();
try {
if($request->hasFile('cover_img')) {
$uniquename='cvr_'.md5($id);
$filename=$uniquename.'.'.$request->file('cover_img')->getClientOriginalExtension();
$path=public_path('storage/media');
$request->cover_img->move($path, $filename);
$data['cover_img']=$filename;
$this->_resizeimg($path,$filename,$uniquename);
}
$isi = Video::find($id);
if($isi->url != $data['url']) {
$name = str_replace("_", '',$data['url']);
$manager = new MediaManager('/uploads');
$manager->newFolder($name);
$data['duration'] = $this->getDuration($data['url']);
}
$isi->update($data);
if (isset($request->series) && $request->series) {
$video_series = new VideoSeries();
$video_series->lokit_video_id =$id;
$video_series->lokit_series_id = (int)$request->series;
$video_series->series = (int)$request->episode;
$isi->video_series()->update($video_series);
}
DB::commit();
return Redirect::to('admin/video/video');
} catch (\Exception $ex) {
DB::rollback();
throw $ex;
}
}
Когда я попробовал код выше, у меня даже возникли ошибки, такие как аргумент 1, который был передан в Illuminate \ Database \ Eloquent \ Builder :: update (), должен иметь тип массива, данный объект, как я могу исправить эту ошибку и почему я получил ошибка?