公司對象可以有許多站點對象。 對於給定的公司,我想知道主要網站。 (isPrimary是Site的一個屬性)。在Symfony2中使用的原則自定義DQL或循環
我在公司類中寫了一個名爲getPrimarySite()的函數,並且像這樣實現了它。
public function getPrimarySiteForCompany()
{
foreach($this->getSite() as $site)
{
if($site->isPrimary())
{
return $site;
}
}
return false;
}
這是正確的或者是它更好地寫在CompanyRepository一個自定義的庫函數,其中我與DQL主站點?
這可能很好,但它的方式。您始終可以使用分析器來確定它是否會減慢速度。爲了儘量減少延遲加載,我曾經花費大量精力進行自定義查詢。但對於我的模型來說,簡單的基準線標誌顯示這種努力沒有什麼收穫。 – Cerad