Yii2.Почему связь таблиц может вызвать ошибку отсутствия свойства?

Доброго времени суток.
Как ни странно делал подобное уже миллион раз, но позавчера что-то пошло не так.
Есть 2 таблицы: Lessons - список уроков и WatchedLesson - просмотренные уроки. Содержит 3 столбца id, lesson_id, user_id.

И теперь пытаюсь сделать связь таблицы уроков с таблицей просмотренных уроков.
Модель Lessons

public function getWatch(){
        return $this->hasOne(WatchedLesson::class, ['lesson_id', 'id']);
    }

Весь остальной код был сгенерирован с помощью Gii и ничего необычного там нет.

Суть в том, что при получении урока
$model = \app\models\Lessons::find()->where(['id' => 8])->with('watch')->one();

вылетает ошибка
Getting unknown property: app\models\Lessons::lesson_id

Но прикол в том, что lesson_idэто поле таблицы WachedLesson, а не Lessons
По идее lesson_idя могу получить так: $model->watch->lesson_id

Пробовал делать и ленивую и жадную загрузку - результат один.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 1
t_khudiyev
@t_khudiyev Автор вопроса
Вопрос был решен. Спасибо всем и в особенности @usdglander
return $this->hasOne(WatchedLesson::class, ['lesson_id' => 'id']);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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