爲了避免重複的代碼,我想在我的雄辯模型中創建一個函數eagerLoading()。這裏是我的代碼:在我的口才對象中設置一個熱切的加載函數
型號產品:
public function scopeActive($query)
{
return $query->where('active', 1);
}
public function eagerLoading($query)
{
return $query->with([
'owners',
'attributes',
'prices' => function ($query)
{
$query->orderBy('created_at', 'desc');
$query->distinct('type');
}
]);
}
myController的:
$products = Product::active()->eagerLoading()->paginate(100);
return $this->response->withPaginator($products, $this->productTransformer);
但是使用這個的時候,我有這樣的錯誤:Call to undefined method Illuminate\Database\Query\Builder::eagerLoading()
。
我該如何使用我的功能?
嘗試將其重命名爲scopeEagerLoading,即可。 –