2016-04-03 79 views
1

我已經閱讀了一堆關於這個錯誤的問題,但仍然無法獲得它的rd。我有3個實體 - 網站,用戶和標籤。一個站點可以有一個唯一的用戶,但不同的用戶可能有相同的標籤,反之亦然。其表格中的一個標籤對用戶和站點具有FK。我想,以顯示相關的一個特定的站點用下面的代碼的所有標籤:學說ManyToMany StateFieldPathExpression錯誤

->add('tags','entity', array(
'class'=> 'MyBundle:Tags', 
'query_builder' => function(EntityRepository $er) use ($siteid) 
{ 
    return $er->createQueryBuilder('s')->where('s.asiteid = :siteid') 
    ->setParameter('siteid', $siteid); 
} 

我也試過這樣:

'query_builder' => function(EntityRepository $er) use ($siteid) {return $er->createQueryBuilder('t') 
      ->join('\MyBundle\Entity\Mysites','ta', \Doctrine\ORM\Query\Expr\Join::WITH,'t.asiteid=ta.id') 
      ->where('t.asiteid = :asiteid') 
      ->setParameter('asiteid', $siteid);} 

屬性映射在標籤實體如下:

manyToMany: 
    userid: 
     targetEntity: MyBundle\Entity\User 
     cascade: { } 
     mappedBy: null 
     inversedBy: null 
     joinColumns: 
      userid: 
       referencedColumnName: id 
     orphanRemoval: false 
    asiteid: 
     targetEntity: \MyBundle\Entity\Mysites 
     cascade: { } 
     mappedBy: asiteid 
     inversedBy: id 
     joinColumns: 
      siteid: 
       referencedColumnName: id 
     orphanRemoval: false 

但是無論如何我在[asiteid = ta.id'附近得到[語義錯誤]第0行,第113列:Error:Invalid PathExpression。 StateFieldPathExpression或SingleValuedAssociationField預計。任何想法都會受到歡迎。

回答

0

該問題已由ManyToMany更改爲ManyToOne解決。 I regenerated entities從現有的數據庫和一切正常。