我有3个表格brands
,cars
,brand_cars
现在我想显示所有公司和该品牌的汽车数量
EX:品牌'a'总计2 cars
,'b'有1辆这样的车
我想通过Joins
laravel
获取此信息
现在我可以使用foreach循环获取所有品牌和数量,但我希望使用JOINS
brands __________________ | id | brand | |-----------------| | 10 | a | | 11 | b | | 12 | c | | 13 | d | |-----------------| cars ___________________ | id | car | |------------------| | 1 | I1 | | 2 | I2 | | 3 | I3 | | 4 | I4 | | 5 | I5 | |------------------| brand_cars ___________________________ | id | car | brand | |--------------------------| | 1 | 1 | 10 | | 2 | 2 | 11 | | 3 | 3 | 12 | | 4 | 4 | 10 | |--------------------------|
提前谢谢。
答案 0 :(得分:1)
如果您想在Laravel中使用SQL连接,可以使用查询生成器。 http://laravel.com/docs/queries#joins
如果您想使用Eloquent ORM,可以使用以下内容。
在 Car 模型中,您需要使用品牌关系定义多对多。如下所示,
public function brand(){
return $this->belongsToMany('Brand'); // This will intern use pivot table brand_car for joining.
}
如果您想要检索特定汽车的品牌,请使用以下内容。
$car = Car::findOrFail(1); // replace 1 with id.
要在视图中打印其名称和品牌,
Name: {{$car->car}}, Brand: {{$car->brand->first()->brand}}
我们使用first()仅检索第一个。显然,你的案件中只有一个。