Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 19 мар 2024, 12:43

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Помогите с запросом
СообщениеДобавлено: 06 авг 2013, 22:40 
Не в сети
Бывалый

Зарегистрирован: 09 авг 2012, 13:17
Сообщения: 43
Помогите с запросом
Есть таблици:
availabilities
Код:
   id   
   product_id
   pharmacy_id
   supplier_id
   quantity   
   price   



suppliers
Код:
id
name


pharmacies
Код:
id
name


products
Код:
id
name
price
supplier_id


Есть контроллер в нем запрос
Код:
 $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']);
    }


Нужно сделать тот же результат только все это оптимизировать , кто укажет на ошибки, буду признателен


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 07 авг 2013, 02:23 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
rain2 писал(а):
кто укажет на ошибки, буду признателен


Кто разберёт мою лапшу ты хотел сказать.
В запросах подобной сложности луше использовать ORM а результат выборки кешировать


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group