Kohana Запрос внутри запроса посредством ORM и DB::expr

Lobezki

Новичок
Доброго времени суток!

Ситуация такая: есть таблица с материалами. Ниже приведён код, который делает выборку материалов где fact_id = 1 и группировку по полю title_id. Мне же необходимо ч.б. при выборке материалов где fact_id = 1, в поле count_title_id считались строки c одинаковым title_id, где fact_id = 1 или 2.

Ниже для наглядности таблицы:



Код получения материалов:
Код:
$res = ORM::factory('Material')
                  ->where('fact_id','=',1)
                  ->group_by('title_id')
                  ->find_all();
Сейчас в моём коде в count_title_id ничего не считается, т.к. не знаю как подсчитать. Уже несколько часов мудрил и не выходит. Просто подставляется 1. Теоретически понимаю что надо создавать запрос внутри запроса. В интернете нашел несколько форумов, но на все попытки поместить SELECT внутрь COUNT sql ругается.

Так понимаю, необходимо что-то типа:

Код:
->select('material.*'array(DB::expr('COUNT(SELECT title_id, fact_id FROM materials WHERE fact_id <= 2 AND WHERE title_id = динамически подставить title_id)'), 'count_title_id'))
Заранее благодарен!
 

Lobezki

Новичок
Решение нашел, на всякий пожарный напишу, вдруг кому пригодится:
Код:
->select(array(DB::expr('(SELECT COUNT(`title_id`) FROM `materials` as `item` WHERE `fact_id` IN (1,2) AND item.title_id = material.title_id)'), 'count_title_id'))
 
Сверху