2014-02-06 90 views
0

我有一個實體LeagueSeason,同時季節有一個@ManyToOne與聯賽的關係。Symfony2自定義存儲庫方法

現在在我的聯盟控制器showAction我想給一個對象的所有季節都屬於當前($ id)的聯賽。

爲此我已經實現在LeagueRepository一個findAllBelongingSeasons功能看起來像以下:

public function findAllBelongingSeasons($league_id) 
{ 
    return $this->getEntityManager() 
     ->createQuery(' 
      SELECT s FROM xxx:Season s 
      WHERE s.league_id = :league_id' 
     ) 
     ->setParameter('league_id', $league_id) 
     ->getResult(); 
} 

的事情是,我現在得到的消息,這個類賽季沒有現場league_id。舒爾在賽季表的數據庫中存在。但現在教條想要通過對象內部處理它,並且在賽季中沒有league_id,因爲它有一個$league屬性,配置了@ORM\ManyToOne(targetEntity="xxx\xxx\Entity\League")

那麼應該怎麼做?

感謝您的幫助:)

回答

1
public function findAllBelongingSeasons($league_id) 
{ 
    return $this->getEntityManager() 
     ->createQuery(' 
      SELECT s FROM xxx:Season s 
      WHERE s.league = :league_id' 
     ) 
     ->setParameter('league_id', $league_id) 
     ->getResult(); 
} 

是正確的方式(在修改league_id

基本上,正如你所說的,教條手柄對象是像「代理」的使用來訪問數據庫表和列。用這種方法你必須引用doctirne(對象)映射,否則db對應的字段

相關問題