@vetsinen

В чем разница между Joinwith и InnerJoin при объединении таблиц в yii?

Cобственно вопрос чем отличаются Joinwith и InnerJoin при объединении таблиц в yii?
  • Вопрос задан
  • 792 просмотра
Пригласить эксперта
Ответы на вопрос 2
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
leftJoin делает LEFT JOIN
->leftJoin('table_name', '`table_name`.`attribut_in_this_table` = `another_table_name`.`attribut_in_another_table`')

InnerJoin делает INNER JOIN
www.yiiframework.com/doc-2.0/guide-db-active-recor...

joinWith краткая запись получается для первых двух, так как можно дернуть данные из связи (не надо повторно описывать связь, просто указываем ее имя). При этом по умолчанию делает LEFT JOIN, но можно и INNER сделать, передать тип join третьим параметром, например:
->joinWith('someRelationName', true, 'INNER JOIN' )

www.yiiframework.com/doc-2.0/yii-db-activequery.ht...

Если интересуют различия в типах JOIN (LEFT/RIGHT/INNER/OUTER) то это уже песня про mysql, а не про yii:
тыц
Ответ написан
Комментировать
@profaller
InnerJoin - это просто джоин, который вы сами составляете (так же может быть и left и right)
Joinwith - это джоин заранее описанного релейшена в модели, будет выполнен одним запросом, в отличии от просто with
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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