Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.

Как сортировать таблицы в Yii?

Таблица «Пользователи» и таблица «Заказы».

У пользователей много заказов.



Выводим в таблицу последние заказы пользователя, да так, чтобы работала сортировка по ним.



Модель «Пользователя» функция relations



'lastorder'=>array(self::HAS_MANY,'Orders','userid','joinType'=>'INNER JOIN','limit'=>1, 'order'=>'date_time_reg desc'),<br>




Из-за того, что код выше возвращает массив с индексом 0, не получается добавить в функцию search()

Эта функция без проблем работает с отношениями BELONGS_TO.

Но в случае HAS_MANY возвращает массив, с которым не работает search().



$criteria->with = array('lastorder');// подключаем то что получили выше <br>
$criteria->compare('lastorder[0].name',$this->lastordername, false);<br>


lastorder[0] — мы же так не можем сделать! Как быть?
  • Вопрос задан
  • 4014 просмотров
Пригласить эксперта
Ответы на вопрос 1
bethrezen
@bethrezen
Делаю сайты, люблю yii2
Нужно завести в пользователя переменную:
public $lastorderName;

В rules добавить lastorderName в safe.

В search будет так:
$criteria->compare('lastorder.name', $this->lastorderName, false);
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы