2016-03-30 6 views
1

У меня есть две таблицы:Laravel получать данные из другой таблицы

Аксессуары идентификатор, код, детали

PriceRevision идентификатор, accessories_id, revised_price

, и я пытаюсь получить следующие json:

[ 
{ "id": 1, "code": "G4007", "detail": "Flyscreen round Gasket -7", "revised_price::25 } 
, 
{ "id": 2, "code": "CZBR-100S", "detail": "Single Bearing Roller " "revised_price::35 } 
] 

Как мне совместить две таблицы, чтобы получить приведенный выше результат? Я предполагаю, что мне придется присоединиться к этим двум таблицам?

я сделал что-то подобное, но только получить данные аксессуаров таблицы:

$data3=InventoryAccessories::select('id','code','sl_detail') 
     ->get(); 

     foreach ($data3 as $d) { 
      $data4=ProductPriceRevision::select('revised_price')->get(); 
      # code... 
     } 

     return $data3; 

ответ

0

вы можете попробовать что-то вроде $model->with('relation');

0

Если вы используете Laravel в eloquent ОРМ, то вы можете сделать это, просто установив отношения (один ко многим, многие ко многим и т.д.) между двумя таблицами. Затем вы можете сделать доступ одной таблицы образуют другой раз как:

$accessories = InventoryAccessories::all(); 
$accessories->priceRevision->revised_price; 

Где $accessories это переменная, которая содержит только все аксессуары из БД с помощью eloquent. Затем вы можете просто форматировать данные для генерации желаемого json.
Здесь вы можете найти способ создать связь между двумя таблицами: https://laravel.com/docs/5.1/eloquent-relationships

В противном случае вы можете просто сделать запрос путем соединения двух таблицы с помощью Query Builder, чтобы получить эти данные из БД. Здесь вы можете найти, как соединить две таблицы с помощью конструктора запросов: https://laravel.com/docs/5.1/queries#joins

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