2014-09-16 2 views
1

У меня есть 3 таблицы brands, cars, brand_cars теперь я хочу, чтобы отобразить все компании и подсчет автомобилей в этой маркеLaravel с помощью присоединиться получить значения из одной таблицы и посчитайте из другой таблицы

EX: бренд ' а»имеет общий 2 cars,„б“есть 1 автомобиль, как этот

Я хочу, чтобы получить это, Joins в laravel

Теперь я могу получить все бренды и рассчитывать с помощью цикла Еогеаспа, но я хочу используя 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 | 
|--------------------------| 

Заранее спасибо.

ответ

1

Если вы хотите использовать SQL-соединения внутри Laravel, вы можете использовать Query Builder. http://laravel.com/docs/queries#joins

Если вы хотите использовать Eloquent ORM, вы можете использовать следующее.

Модель автомобиля Модель, которую вы должны определить, отношение «многие ко многим» относится к бренду. Что-то вроде ниже,

Если вы хотите получить фирменный знак конкретного автомобиля, используйте следующее.

$car = Car::findOrFail(1); // replace 1 with id. 

Чтобы напечатать свое имя и бренд в поле зрения,

Name: {{$car->car}}, Brand: {{$car->brand->first()->brand}} 

Мы использовали первый(), чтобы получить только первый из них. Очевидно, в вашем случае будет только один.

Смежные вопросы