[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: KOHANA ORM
qari
Есть запрос:

 $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')
->
where('status', '=', 1)
->
group_by('user_id')
->
find_all();

Этот способ помог, но это же групировка. Получаеться запрос более нагружен чем distinct. Я не пойму почему же не работает distinct.

Спустя 1 час, 22 минуты, 23 секунды (3.07.2012 - 02:55) Invis1ble написал(а):
Цитата
Получаеться запрос более нагружен чем distinct.

не факт, нужно explain смотреть. При простых запросах они идентичны.

Цитата
Я не пойму почему же не работает distinct.

потому что скомпилированный запрос выглядит примерно так
select distinct comments.* from comments where status = 1
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.