Как правильно писать условия в with/joinWith?

Всем привет! Недавно пересел на yii2 и есть вопрос по условиям в with, точнее по добавлению алиасов:

Вот код:

User::find()
            ->with(['address' => function(ActiveQuery $addressQuery){
                $addressQuery->where(['status' => 1]);
            }])
            ->where(['status' => 1])
            ->all();


Я так думал что так как вложенный $addressQuery связан с релейшеном 'address' он сам добавит алиас/таблицу к полю 'status', то есть в запрос уйдет "address.status", но этого не происходит.

Так же в основном запросе было бы логично, что он сам добавит к условию алиас/таблицу, то есть в запрос удет "user.status". По крайней мере, у yii1 такое поведение.

Это я что-то делаю не так или так и должно быть?

И если так и должно быть, есть ли в yii2 возможность сделать так, чтоб он сам добавлял алиас/имя таблицы?

Заранее спасибо!
  • Вопрос задан
  • 256 просмотров
Пригласить эксперта
Ответы на вопрос 1
bitver
@bitver
https://github.com/yiisoft/yii2/pull/10817
Вообще очень много ответов на этот вопрос в нэте.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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