举例:某帖子详情页详情页 hasMany关联 评论表评论表 hasOne关联 用户表用户表 hasOne关联 用户数据表
评论表
用户表
用户数据表
那么针对评论列表 可以通过 with('author') 关联查询到用户表,避免了N+1次查询
但是此时通过用户表关联查询用户数据表时候依然是N+1次查询。
如何做到一次性通过with即关联了用户表,也关联了用户数据表呢?
闭关修行中......
评论关联用户:getAuthor用户关联用户数据:getAuthorname可以with('author.authorname')来取出。如果想看示例的话这个视频章节中正好有讲从多层关联中取数据。
我很久没用yii2了,以前用ActiveRecord的时候,复杂的语句我都是直接写SQL来处理的,就懒得去模型文件东改改西改改了,用原生SQL,只要你觉得性能没问题,LEFT JOIN关联就行,findBySQL()查吧。
评论关联用户:getAuthor
用户关联用户数据:getAuthorname
可以with('author.authorname')来取出。
如果想看示例的话这个视频章节中正好有讲从多层关联中取数据。
我很久没用yii2了,以前用ActiveRecord的时候,复杂的语句我都是直接写SQL来处理的,就懒得去模型文件东改改西改改了,用原生SQL,只要你觉得性能没问题,LEFT JOIN关联就行,findBySQL()查吧。