$comment = ORM::factory('comment')
->where('status', '=', 1)
->find_all();
есть поле user_id
Как сделать чтобы выбрало только по одному коментарию каждого user_id?
делал вот так:
$comment = ORM::factory('comment')
->distinct('user_id')
->where('status', '=', 1)
->find_all();
Выводит все что есть в базе!
Спустя 2 дня, 15 часов, 40 минут, 53 секунды (2.07.2012 - 08:03) Invis1ble написал(а):
так попробуй
$comment = ORM::factory('comment')
->where('status', '=', 1)
->group_by('user_id')
->find_all();
Спустя 17 часов, 29 минут, 12 секунд (3.07.2012 - 01:33) qari написал(а):
Цитата (Invis1ble @ 2.07.2012 - 05:03) |
так попробуй$comment = ORM::factory('comment') |
Этот способ помог, но это же групировка. Получаеться запрос более нагружен чем distinct. Я не пойму почему же не работает distinct.
Спустя 1 час, 22 минуты, 23 секунды (3.07.2012 - 02:55) Invis1ble написал(а):
Цитата |
Получаеться запрос более нагружен чем distinct. |
не факт, нужно explain смотреть. При простых запросах они идентичны.
Цитата |
Я не пойму почему же не работает distinct. |
потому что скомпилированный запрос выглядит примерно так
select distinct comments.* from comments where status = 1