我正在创建一个Laravel应用程序,即项目保修系统。
涉及3个模块,分别是项目,保修和索赔。
Item -> Warranty -> Claim
商品有很多保修,
一项保修属于一项,
保修有很多索赔(因为可以多次索赔,在这里索赔是一个模型,因为它有描述)
一项索赔属于一项保修。
因此,现在我将使用急切的装载来查找每个物品有多少索偿?谢谢您的帮助:)
答案 0 :(得分:1)
项目有很多保修
保修有很多声明
现在您想获得特定项目的索赔。然后,您需要在“索赔模型”中建立另一个关系,因为已经通过
class Item extends Model
{
/**
* Get all of the claim for the item.
*/
public function claims()
{
return $this->hasManyThrough('App\Claim', 'App\Warranty');
}
}
现在在控制器中,您可以使用 withCount 方法进行计数。
$ietms = App\Item::withCount('claims')->get();
详细了解Has Many Through
答案 1 :(得分:0)
$ietms = App\Item::with('Warranty.Cliam')->get();