webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg

Почему count возвращает одинаковые данные не зависимо от условий?

В таблице всего 6 записей. Вот экшен:
public function actionAddMoreGroupPosts($id,$page){
        $offset = ($page-1) * 20;
        $query = GroupPost::find()->with(['author'])->where(['group_id'=>$id])->orderBy('status_id DESC, id DESC')->offset($offset);
        return $query->count();
    }

возвращает 6 не зависимо от $page.
Самое интересное, что данный велосипед писал потому что стандартный для Yii - Pagination возвращал тоже самое.
Где я дурак?

В дебаге смотрю запрос:
SELECT COUNT(*) FROM `group_post` WHERE `group_id`='2' ORDER BY `status_id` DESC, `id` DESC

то есть offset($offset) вообще не работает
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat
{PHP, MySql, HTML, JS, CSS} developer
а полученный запрос после конструктора не смотрели? Иногда помогает - визуально оценить что наваяли если все мысли кончились )
Ответ написан
RomanticOS
@RomanticOS
webDeveloper
Попробуй написать : return $query->count([0]); А вообще не могу понять Count чего вернуть надо, id или какого-то иного поля.
Ответ написан
kimono
@kimono
PHP/Yii2 разработчик
Может нужно указать ->limit()?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ITGLOBAL.COM Севастополь
от 120 000 до 200 000 руб.
Fmedia Санкт-Петербург
от 60 000 руб.
SaveTime Москва
от 140 000 до 200 000 руб.