Задать вопрос
@Cerebrumlab

Yii2 пустой массив через sqldataprovider в чем причина?

Всем добрый день! помогите кто чем сможет))
Собственно проблема такая через sql data provider делаю запрос ( в phpmyadmin все правильно) в yii2 возвращает пустой массив
public function getBeforeArticles($n)
{
return new SqlDataProvider([
'sql'=>"select * from ( select * from Articles where id <= :id ORDER BY id DESC) ar LIMIT :n",
'params' =>['id' => [$this->id],'n'=> [$n]],]);
}
Возможно мое решение в корне не верно но пока другого не нашел, задача получить материалы у которых id меньше текущего на $n
  • Вопрос задан
  • 136 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 1
mhthnz
@mhthnz
PHP, YII2, Golang, Linux
Не совсем конечно понял задачу, но если
задача получить материалы у которых id меньше текущего на $n
то можно использовать модель Articles:
$current_id = $this->id;
$n = 10;
$articles = Articles::find()
->where(['<', 'id', ($current_id - $n)])
->orderBy('id DESC')
->limit(10) // Не понятно как у вас там должен лимит работать, пусть будет 10
->all();

foreach($articles as $article) {
    echo $article->id;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы