1
在Doctrine 2.1中似乎有一種看不見的情況,那就是不容易返回關聯的子集 集合。Doctine 2限制與DQL的關聯
該文檔建議寫一個庫find方法,這是有道理的,因爲這是我第一件事儘管這樣做的。
但是,如果沒有在實體內引用EntityManager,我看不到如何檢索關聯的存儲庫,這似乎無法將域與數據庫分離?
是否有針對此問題的推薦策略?
這是我對他們建議的解決方案的解釋。
class Category
{
protected $id;
protected $articles; // PesistentCollection
protected $em; // The EntityManager from somewhere?
public function getVisableArticles()
{
return $this->em->getRepository('Article')
->getVisibleByCategory($this);
}
}
是的使用接口是答案,應該想到的!我猜在實體映射期間沒有任何種類的依賴注入,如果我有一個IArticleRepository的setter? – gawpertron
沒有內置的依賴注入,doctrine只處理數據庫中的管理對象 – meze
另一個想法是緩存結果嗎?如果我要創建一個新的可見文章,將它添加到PesistentCollection中,然後再次調用getVisibleArticles()將我的新文章出現在返回的數組中? – gawpertron