方式/步調
聯系關系查詢的預查詢載入功能,本家兒要解決了N+1次查詢的問題,這里舉一個例子,查詢3個成果,會進行4次查詢。

若是利用聯系關系預查詢功能,對于一對一聯系關系來說,只有一次查詢,對于一對多聯系關系的話,就可以釀成2次查詢,有用提高機能。

也可以撐持嵌套預載入,例如:

V5.0.7版本以上,撐持利用數組體例界說嵌套預載入,例如下面的預載入要同時獲取用戶的Profile聯系關系模子的Phone、Job和Img子聯系關系模子數據:

若是要指心猿意馬屬性查詢,可以利用:

V5.0.4+版本起頭一對一聯系關系預載入撐持兩種體例:JOIN體例(一次查詢)和IN體例(兩次查詢),若是要利用IN體例聯系關系預載入,在聯系關系界說方式中添加

有些環境下,需要按照查詢出來的數據來決議是否需要利用聯系關系預載入,當然聯系關系查詢自己就能解決這個問題,因為聯系關系查詢是惰性的,不外用預載入的來由也很較著,機能具有優勢。
延遲預載入僅針對多個數據的查詢,因為單個數據的查詢用延遲預載入和聯系關系惰性查詢沒有任何區別,所以不需要利用延遲預載入。
若是你的數據集查詢返回的是數據集對象,可以利用挪用數據集對象的load實現延遲預載入:

若是你的數據集查詢返回的是數組,系統供給了一個load_relation助手函數可以完當作同樣的功能。
END0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!