Kohana Запрос в несколько таблиц на Kohana

fonbaron

Велосипедист
Добрый день. Возникла такая задача в Kohana :
Есть 3 таблицы
1 товары
2 картинки для слайдера в товаре
3 скидки
необходимо когда выводится список вывести сначала популярные товары, затем остальные с пагинацией.
у каждого товара выводится слайдер с прикрепленными к товару картинками(картинки прикрепляются по id товара к которому прикрепляются), а также тексту добавляется класс в зависимости от скидки если сумма скидок до 10 то красный если до 20 то синий если = 30 то зеленый (т.е. скидки накапливаются от разных показателей они также прикрепляются по id товара)
Подскажите как вывести список товаров с данными характеристиками и слайдером
 

Redjik

Джедай-мастер
Создаешь запрос, получаешь данные, распихиваешь данные в html...
как то так...
а что не получается?
 

fonbaron

Велосипедист
Не понимаю как создать такой запрос. Если можно пример подскажите аналогичный
 

fonbaron

Велосипедист
PHP:
 $count = ORM::factory('good')->count_all();

        $pagination = Pagination::factory(array(
            'total_items' => $count,
        ));
      
        $goods = ORM::factory('good')
            ->limit($pagination->items_per_page)
            ->offset($pagination->offset)
            ->find_all();

        $this->template->content = View::factory('v_goods', array(
            'goods' => $goods,
            'pagination' => $pagination,
        ));
Пока сделал вывод из одной таблицы с пагинацией
 

fonbaron

Велосипедист
Если я правильно понимаю то нужно задать связи в модуле good?
 

fonbaron

Велосипедист
PHP:
<?php
Class Model_Good extends ORM {
   protected $_has_many = array(
      'images'    => array(
                   'model'         => 'image',
                   'foreign_key' => 'good_id',
               ),
      'discounts'    => array(
                   'model'         => 'discount',
                   'foreign_key' => 'good_id',
               )
    );
};
?>
Подскажите правильно я понял?
 

fonbaron

Велосипедист
а как мне сначала популярные товары, затем остальные с пагинацией
 

fonbaron

Велосипедист
Это выведет только те товары которые популярный, а надо сверху что бы шли популярные а затем все остальные + пагинация если пагинация на 10 а популярных товаров 15 то на 1 странице будут только популярные а на второй 5 популярных оставшихся и далее обычые товары и тд
 

Здыхлик

Kohaner
Команда форума
Какой еще пример-то? Открыл мануал, посмотрел что делает order_by(). Если непонятен смысл конструкции ORDER BY в SQL - гуглить придется недолго, ничего там сверхсложного нет. Суть в том, что мы применяем условие сортировки - по полю is_popular (или как оно там называется в действительности).
 
Сверху