непонятное поведение left join

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
mrbighokage
Сообщения: 28
Зарегистрирован: 2014.02.21, 10:33
Откуда: ua

непонятное поведение left join

Сообщение mrbighokage »

Setting unknown property: common\models\PostTranslate::alias

Код: Выделить всё

$sql = "SELECT p.id, p.alias, pt.full_text, pt.title, pt.meta_title,
                    pt.meta_descriptions, pt.meta_keywords, pt.preview_text
                FROM " . Post::tableName() . " as p
                LEFT JOIN " . PostTranslate::tableName() . " as pt
                   ON p.id = pt.post_id
                WHERE pt.language = :lang
                    AND p.alias = :alias";
            return PostTranslate::findBySql($sql, [
                ':lang' => Yii::$app->language,
                ':alias' => current($alias)
            ])->one();
Почему поле alias берется с таблици PostTranslate. Я же явно говорю что alias в таблице Post?
Если джоинить наоборот к Post то поля с другой таблици невидно.
Тоже самое если переписать запрос c model::find(...)->leftJoin(..)
Непонимаю как это работает в yii. Сам sql выполняется правильно. Через yii такая ошибка.
Ответить