Как использовать даные из двух связаных таблиц?

Доброе время суток вопрос в следующем есть две таблицы
serial=>id, name_serial, created_at;
films=>id, name_films, created_at,id_serial;


таблицы связаны друг другом в моделях причем serial связана ещё и с моделью image Serial

public function getFilms(){
        return $this->hasMany(Films::className(),['id_serial'=>'id']);
    }
public function getImages(){
        return $this->hasMany(Image::className(), [ 'id_serial'=>'id' ]);
    }


Films
public function getSerial()
{
    return $this->hasOne(Serial::className(), ['id'=>'id_serial']);
}


Мне надо вывести по дате (created_at) данные с обоих таблиц причем так, что бы я смог потом использовать связи к примеру что бы при выводе Film я мог потом получить Image у Serial вот так $films->serial->images и serial->image serial->films
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
arutyunov
@arutyunov
Mooza.ru — Делаем сайты
Используйте joinWith() или with() при запросе.

$films = Films::find()
  ->joinWith('serials')
  ->orderBy(['films.created_at' => SORT_DESC])
  ->addOrderBy(['serials.created_at' => SORT_DESC])
  ->all();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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