Laravel 4 - 仅显示另一个数据库没有相关项的行的范围
Laravel 4 - Scope to only show rows where another DB has no relational items
我有一辆车table,还有一辆car_imagetable。
我想获取 car_image 中所有没有图像的汽车。
在我的汽车模型中,我正在制作示波器:
public function scopeNoImages($query)
{
return $query-> ??
}
我如何创建一个范围,该范围将仅显示来自汽车 table 的结果,而这些汽车 table 在数据透视 table 中没有相关行?
假设 car_image 包含汽车图像:
在您的 Car
模型中:
public function images()
{
return $this->hasMany('CarImage');
}
在您的 CarImage
模型中:
public function car()
{
return $this->belongsTo('Car');
}
现在您可以像这样加载没有图像的汽车:
return Car::doesntHave('images')->get();
使用:doesntHave.
我有一辆车table,还有一辆car_imagetable。
我想获取 car_image 中所有没有图像的汽车。
在我的汽车模型中,我正在制作示波器:
public function scopeNoImages($query)
{
return $query-> ??
}
我如何创建一个范围,该范围将仅显示来自汽车 table 的结果,而这些汽车 table 在数据透视 table 中没有相关行?
假设 car_image 包含汽车图像:
在您的 Car
模型中:
public function images()
{
return $this->hasMany('CarImage');
}
在您的 CarImage
模型中:
public function car()
{
return $this->belongsTo('Car');
}
现在您可以像这样加载没有图像的汽车:
return Car::doesntHave('images')->get();
使用:doesntHave.