Красноречивая модель, соединяющая таблицу и Подзапрос

#laravel #laravel-5 #eloquent #eloquent-relationship

Вопрос:

У меня есть несколько вопросов о модели Laravel Eloquent. Предположим, что у меня есть несколько таблиц в нижней части списка заказов. Количество единиц измерения od_id p_id

Название продукта p_id цена pc_id

Категория продукта Категория pc_id

Ожидаемый выходной запрос

 SELECT P.name,IFNULL(0.00,(SELECT SUM(OD.unitprice*OD.qty) FROM OrderDetail AS OD WHERE O.p_id = P.pid GROUP BY OD.p_id))
FROM products AS P INNER JOIN ProductCategory AS PC ON
p.pc_id = PC.pc_id WHERE PC.category = 'Snack';
 

Попытки:
Модель
Модель Продукта

 public function order(){
    return $this->belongsTo(OrderDetail::class);
}

public function category(){
  return $this->belongsTo(ProductCategory::class);
}
 

Модель детального заказа

 public function product(){
   return $this->hasMany(Product::class);
}
 

Модель категории продукта

 public function product(){
   return $this->hasMany(Product::class);
}
 

Контроллер Данных Вытягивания

 Product::with("category")->where("ProductCategory.category","Snack")->get();
 

Но я пытаюсь прикрепить вложенный запрос внутри к столбцу select…

Спасибо.