Beispiel: eine Beitragsdetailseite
Detailseite hasMany Association Kommentartabelle
评论表
评论表
hasOne关联 用户表
用户表
hasOne关联 用户数据表
Kommentartabelle
hasOne Association
用户表
hasOne Association Benutzerdatentabelle
Dann kann die Kommentarliste über die with('author')-Verknüpfung abgefragt werden用户表
关联查询用户数据表
, wodurch N+1-Abfragen vermieden werden
Aber zu diesem Zeitpunkt sind es bei der Abfrage der Benutzerdatentabelle
über 用户表
,也关联了用户数据表
association immer noch N+1 Abfragen.
Benutzerdatentabelle
auf einmal? 🎜
评论关联用户:getAuthor
用户关联用户数据:getAuthorname
可以with('author.authorname')来取出。
如果想看示例的话这个视频章节中正好有讲从多层关联中取数据。
我很久没用yii2了,以前用ActiveRecord的时候,复杂的语句我都是直接写SQL来处理的,就懒得去模型文件东改改西改改了,用原生SQL,只要你觉得性能没问题,LEFT JOIN关联就行,findBySQL()查吧。