我有属于商店模型的产品模型。 商店可以是活跃商店,也可以是活跃商店,因此我只需要从活跃商店获得产品。 所以我添加了这种方法
public function isActiveShop(){
return $this->where($this->shop->status,'active');
}
和我的控制器
$prodcuts = Product::where('id',$rawArray)->isActiveShop()->get();
我收到此错误
“调用未定义的方法Illuminate \ Database \ Query \ Builder :: isActiveShop()”
答案 0 :(得分:0)
尝试一下:
$products = (new Product())->isActiveShop()->where('id',$rawArray)->get();
答案 1 :(得分:0)
您必须使用scope和whereHas()
:
public function scopeIsActiveShop($query) {
return $query->whereHas('shop', function($query) {
$query->where('status', 'active');
});
}