提问者:小点点

从关系返回的Laravel 5迭代和限制模型


使用L5,我有一个“汽车”模型和一个“品牌”模型。

在我的品牌车型中,我与汽车有很多关系,所以我可以做$Brand-

这工作得很好,但是我永远不需要返回所有它们,我将总是过滤、限制或迭代它们。

在我的控制器中,我可以执行$brand-

有没有一种方法可以直接迭代和限制一个关系,或者我只是简单地简化关系,直接使用雄辩:

$brand::where('year','>',2010)->take(20)->get()?

共2个答案

匿名用户

你正在寻找的东西很容易装载。

Brand::with('cars')->take(20)->get();

如果您需要根据任何字段过滤汽车,例如“年份”:

Brand::whereHas('cars', function($q) use($year)
{
    $q->where('year', '>', $year);

})->with('cars')->take(20)->get();

匿名用户

是的,您可以使用:

$brand->cars()->take(20)->get();