Laravel 4 - 仅显示另一个DB没有关系项的行的范围

时间:2015-06-16 10:28:40

标签: laravel-4 eloquent pivot-table

我有一张汽车牌桌和一张car_image表。

我想让car_image中没有图像的所有车辆。

在我的车型中,我正在制作一个范围:

public function scopeNoImages($query)
{
    return $query-> ??
}

如何创建一个范围,仅显示来自数据透视表中没有相关行的cars表的结果?

1 个答案:

答案 0 :(得分:0)

假设car_image包含汽车的图像:

Car模型中:

public function images()
{
    return $this->hasMany('CarImage');
}

CarImage模型中:

public function car()
{
    return $this->belongsTo('Car');
}

现在您可以加载没有图像的汽车:

return Car::doesntHave('images')->get();

使用:doesntHave