我在我的一些模型中使用全局作用域。我希望能够在控制器级别动态地移除作用域逻辑。我的作用域应用于我的PingtreeGroup
模型,当我试图通过我的控制器show
方法移除全局作用域时,我得到了一个错误。
如果不使用GlobalScope(),函数Illuminate\Database\Eloquent\Builder::的参数太少,传递了0个
/**
* Display the specified resource.
*
* @return \Illuminate\Http\Response
*/
public function show(Company $company, PingtreeGroup $pingtreeGroup)
{
$this->authorize('view', $pingtreeGroup);
$pingtreeGroup = $pingtreeGroup->withoutGlobalScope()->load([
'pingtree_group_entries',
'pingtree_group_entries.pingtree' => function ($query) {
$query->withCount('pingtree_entries');
},
'pingtree_group_entries.pingtree.pingtree_entries',
'pingtree_group_entries.pingtree.pingtree_entries.buyer_tier',
'pingtree_group_entries.pingtree.pingtree_entries.buyer_tier.buyer',
])->loadCount('pingtree_group_entries');
return new ApiSuccessResponse($pingtreeGroup);
}
我错过了什么?
1条答案
按热度按时间zhte4eai1#
尝试将全局作用域的类名添加到
withoutGlobalScope()
方法中:您可以在文档中阅读有关删除全局作用域的详细信息