2015-04-13 6 views
0

Я создаю приложение, подобное веб-магазину на Laravel 4, и я столкнулся с небольшими трудностями при построении запроса. Я хочу вернуть список продуктов, которые имеют активный запас акций.Возврат результата на основе результата из объединенной таблицы

Каждый товарный запас указан как собственный набор данных, так как то, что я продаю (билеты), имеет уникальный код и поэтому я хочу знать, какие коды были проданы, а какие нет.

Я хочу, чтобы иметь возможность рассчитать, сколько билетов осталось непроданным, а также только списки групп билетов как активные, если у них есть билеты, которые нужно продать.

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

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


Некоторые фрагменты кода

// Check if the code is active 
    public function scopeActive($query) { 
     return $query->where('active', '=', 1); 
    } 
// Relationship to product 
public function product() { 
    return $this->belongsTo('Product', 'product_id', 'id'); 
} 

Я хочу, чтобы быть в состоянии захватить все продукты с активными кодами, так что я думаю, $ продукт-> codes-> продукт, как мы проверяем каждый продукт имеет активный кода, а затем через объект продукта через них?

ответ

0

Мое описания, вероятно, было не очень понятно, но я узнал, что я мог делать то, что я хотел, группируя результат, установленного product_id

В конце концов я сделал

return ProductCode::where('active', '=', 1) 
      ->groupBy('product_id') 
      ->get(); 

Надеется, что это может помочь кто-то, кто смотрел - это не самый эффективный способ сделать это, но он работает.

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