首頁  >  問答  >  主體

php - Yii關聯表with優化查詢,避免N+1次查詢疑問

範例:某帖子詳情頁
詳情頁hasMany關聯評論表
評論表 hasOne關聯用戶表

用戶表 hasOne關聯用戶資料表

那麼針對評論清單 可以透過 with('author') 關聯查詢到###使用者表###,避免了N 1次查詢### ###但此時透過###用戶表###關聯查詢###用戶資料表###時候還是N 1次查詢。 ### ###如何做到一次通過with即關聯了###用戶表###,也關聯了###用戶資料表###呢? ###
阿神阿神2708 天前1217

全部回覆(2)我來回復

  • 欧阳克

    欧阳克2017-06-10 09:49:45

    評論關聯使用者:getAuthor
    使用者關聯使用者資料:getAuthorname
    可以with('author.authorname')來取出。
    如果想看範例的話這個影片章節中正好有講從多層關聯中取資料。

    回覆
    0
  • 世界只因有你

    世界只因有你2017-06-10 09:49:45

    我很久沒用yii2了,以前用ActiveRecord的時候,複雜的語句我都是直接寫SQL來處理的,就懶得去模型文件東改改西改改了,用原生SQL,只要你覺得性能沒問題,LEFT JOIN關聯就行,findBySQL()查吧。

    回覆
    0
  • 取消回覆