在 laravel 5.3 中调用未定义的方法 Illuminate\Database\Query\Builder::attach()
Posted
技术标签:
【中文标题】在 laravel 5.3 中调用未定义的方法 Illuminate\\Database\\Query\\Builder::attach()【英文标题】:Call to undefined method Illuminate\Database\Query\Builder::attach() In laravel 5.3在 laravel 5.3 中调用未定义的方法 Illuminate\Database\Query\Builder::attach() 【发布时间】:2017-03-31 08:16:05 【问题描述】:我需要帮助解决这个错误
调用未定义的方法 Illuminate\Database\Query\Builder::attach()
我的模特是
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) " > $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>
谁能告诉我我做错了什么或者你们有什么解决办法 感谢您的帮助
【问题讨论】:
您的意思是输入casts()->attach()
而不是photos()->attach()
吗?
谢谢我没看
【参考方案1】:
关系的另一端也需要是belongsToMany,因为附加方法适用于多对多关系-请参阅已回答的帖子:
"Many to many - attach"
【讨论】:
以上是关于在 laravel 5.3 中调用未定义的方法 Illuminate\Database\Query\Builder::attach()的主要内容,如果未能解决你的问题,请参考以下文章
更新到 Laravel 5.3 后播种时调用未定义的方法 Illuminate\Database\Query\Builder::lists()
在更新到Laravel 5.3后播种时调用未定义的方法Illuminate Database Query Builder :: lists()