Преобразование SQL-запроса для использования построителя запросов Laravel - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь преобразовать этот код SQL для использования построителя запросов Laravel.

SELECT b.name 
FROM brands b
INNER JOIN products p 
    ON b.id = p.brand_id
INNER JOIN transaction_sell_lines tr 
    ON p.brand_id=tr.product_id

Ответы [ 2 ]

0 голосов
/ 29 мая 2019

Используйте запрос,

$res=DB::table('products')
    ->select('brands.name')
    ->join('brands','brands.id','=','products.brand_id')
    ->join('transaction_sell_lines','products.brand_id','=','transaction_sell_lines.product_id')
    ->get();
0 голосов
/ 29 мая 2019

Предполагается, что у вас есть следующий модальный

  1. Марка
  2. Продукт
  3. TransactionSellLines

Для Brand.php [То есть модальный бренд]

public function products(){
  return $this->hasMany(Product::class,'brand_id','id');
}

Для Product.php Модальный

public function transactionSellLines(){
  return $this->hasMany(TransactionSellLines::class,'product_id','id');
}

Тогда ваш запрос Laravel Eloquent будет выглядеть так:

Brand::with('products.transactionSellLines')->get();
...