Задать вопрос
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] — мы же так не можем сделать! Как быть?
  • Вопрос задан
  • 4016 просмотров
Подписаться 5 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Onskills
    PHP: базовый курс
    1 месяц
    Далее
  • teamcoding
    TC200PY Разработка PHP веб-приложений на Yii2. Шаблон приложения advanced
    3 месяца
    Далее
  • FructCode
    Yii2 Фреймворк
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
bethrezen
@bethrezen
Делаю сайты, люблю yii2
Нужно завести в пользователя переменную:
public $lastorderName;

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

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

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

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