@AlexSer

Как вы вывести элементы по id через свзяанную таблицу в Yii2?

У меня есть промежуточная таблица.
Допустим связь трех таблиц.

tovar             zakaz_tovar            user
id                   id                           id
title               id_tovar                  name
                     id_user 

 public function getUser(){
        return $this->hasMany(User:className(), ['id' => 'id_user'])
            ->viaTable('zakaz_tovar', ['id_tovar' => 'id']);

    }


Если я делаю запрос $model=Tovar::findOne($id);
а затем через цикл пытаюсь вывести user то он выводит не по порядку составленной записи в zakaz_tovar, а по id user. Как сделать чтобы запиcи отоброжались по id из промежуточной таблицы?
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
myks92
@myks92 Куратор тега Yii
Нашёл решение — пометь вопрос ответом!
Добавьте ->orderBy('id ASC'); к условию.

public function getUser(){
        return $this->hasMany(User:className(), ['id' => 'id_user'])
            ->viaTable('zakaz_tovar', ['id_tovar' => 'id'])->orderBy('id_tovar ASC');
    }

public function getUser(){
        return $this->hasMany(User:className(), ['id' => 'id_user'])
            ->viaTable('zakaz_tovar', ['id_tovar' => 'id'])->orderBy('id DESC');
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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