Помогите с запросом
Есть таблици:
availabilities Код:
id
product_id
pharmacy_id
supplier_id
quantity
price
suppliersКод:
pharmaciesКод:
productsКод:
Есть контроллер в нем запрос
Код:
$pharm = orm::factory('availability');
$items = DB::select('availabilities.product_id', 'availabilities.pharmacy_id', 'availabilities.price', 'products.name', 'products.article')
->from('availabilities')
->join('products')->on('availabilities.product_id', '=', 'products.id')
->where('availabilities.pharmacy_id', '>', 0)
->order_by('availabilities.product_id', 'ASC')
->order_by('availabilities.price', 'ASC')
->execute()
->as_array('product_id');
foreach ($items as $key => $_item) {
$info = $pharm->get_pharm_min_price($_item['product_id']);
}
В модели availability
метод выглядит так
Код:
public function get_pharm_min_price($product_id)
{
$items = DB::select('price', 'product_id', 'pharmacy_id')
->from('availabilities')
->where('pharmacy_id', '>', '0')
->and_where('product_id', '=', $product_id)
->order_by('price', 'ASC')
->limit(1)
->execute()
->current();
return array('id' => $items['pharmacy_id'], 'price' => $items['price']);
}
Нужно сделать тот же результат только все это оптимизировать , кто укажет на ошибки, буду признателен