3
讓我們說,我們有兩個表:郵政和類別,並具有相同category_id
兩個職位,讓說,1如何不是兩次加載相同的參考原則
$post1->getCategory()->getName()
將加載已CATEGORY_ID 1類別
$post2->getCategory()->getName()
將執行相同的查詢來加載相同的類別。
有沒有解決方案不要做兩次相同的查詢?
讓我們說,我們有兩個表:郵政和類別,並具有相同category_id
兩個職位,讓說,1如何不是兩次加載相同的參考原則
$post1->getCategory()->getName()
將加載已CATEGORY_ID 1類別
$post2->getCategory()->getName()
將執行相同的查詢來加載相同的類別。
有沒有解決方案不要做兩次相同的查詢?
我可能是錯的,但我相信Doctrine會利用內部緩存來優化這種查詢。 AFAIK它會保留你的應用程序使用的一個對象池,所以第一次加載類(post1)時,它會在緩存中保留該對象的內部引用,所以第二次調用同一類時,它將返回先前的使用實例,而不是對數據庫進行新的查詢。