YiiFramework Условия по умолчанию

StalkerClasses

Новичок
Доброго вечера.

В интернете достаточно много примеров как к модели добавить условия по умолчанию. В моем случае это del = 0 (корзина) и hide = 0 (выключен).

Все прекрасно работает, но когда делаешь join в модели

PHP:
$model = Blog::find()
        ->leftJoin('page', 'blog.uid=page.uid');
При выборке записи блога учитывают "del" & "hide", а вот обращение к таблице page не учитывает данные, хотя для нее определена модель с такими же условиями по умолчанию (del & hide). Как сделать так что бы при выборке всем таблицам добавлялся (del & hide). Посмотрел исходники Yii2 - не нашел там нигде переменной со списком таблицу участвующих в запросе, что бы на его основе циклом пройтись и всем добавить del & hide.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
вообще непонятно о чем речь, это какой-то поток сознания без контекста
 

StalkerClasses

Новичок
Есть две модели
Blog - здесь определен defaut Scope ($query->andWhere('=','del',0); $query->andWhere('=','hide',0);)
Page и здесь определен defaut Scope ($query->andWhere('=','del',0); $query->andWhere('=','hide',0);)

Когда делаю запросы вида:
$model = Blog::find()->all(); // выбираются блоги с учетом удаленности в корзину и учетом выключенности (del=0&hide=0).
$model = Page::find()->all(); // выбираются страницы с учетом удаленности в корзину и учетом выключенности (del=0&hide=0).
Все замечательно работает.

Но если сделать запрос вида join()
$model = Blog::find()
->leftJoin('page', 'page.uid=blog.uid');

То получается что условия defaut Scope() добавятся только к Blog. А для таблицы которая в leftJoin ничего добавлено не будет.
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
ты хочешь кнопку "сделайте мне хорошо"

ты join-ишь внешнюю таблицу по связи, которая определена в модели Blog - вот как ты связь определил, так оно запрос и составляет,
ORM мысли не читает - включать ли ограничения в ON или в WHERE, никто за тебя думать не будет
 
Сверху