我需要帮助解决这个错误
调用未定义方法Illuminate'Database'Query'Builder::attach()
my Model is
public function casts()
{
return $this->belongsToMany(Cast::class)->withTimestamps();
}
我的控制器
public function addCast(Request $request, $id)
{
$this->validate($request, [
'casts' => 'required'
]);
$show = $this->shows->findOrFail($id);
$show->photos()->attach($request->input('casts'));
dd($show);
}
我的形式 <form action="{{ route('shows.addCasts', $show->id) }}" method="POST">
{{ csrf_field() }}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title"><img src="{{ Storage::url($show->small_image) }}" height="30" width="30">{{ $show->name }}</h4>
</div>
<div class="modal-body">
<div class="form-group">
{!! Form::label('casts') !!}
{{ Form::select('casts[]', $casts, null, ['class' => 'form-control roles']) }}
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
{!! Form::submit('Save Cast', ['class' => 'btn btn-primary']) !!}
{{--<button type="submit" class="btn btn-primary">Save changes</button>--}}
</div>
</form>
谁能告诉我我做错了什么,或者你们有什么解决办法吗谢谢你的帮助
关系的另一端也需要是belongsToMany,因为attach方法适用于多对多关系-参见已回答的帖子:
"Many to Many - attach"