2014-05-06 40 views
3

以下是p.classes是外鍵的代碼。當查詢將觸發,然後顯示如下錯誤:[語義錯誤]第0行,col 73'LIKE'附近:錯誤:無效的PathExpression。必須是StateFieldPathExpression。 ('SELECT'FROM StudentBundle:Student p WHERE p.classes LIKE:name') - > setParameter('name','%'。$ keyword)。 '%');我得到這個錯誤[語義錯誤]行0,COL 73'類LIKE'附近:錯誤:無效PathExpression。必須是StateFieldPathExpression

懇請在此解決。

+0

很可能您正在嘗試在相關字段上進行搜索。如果學生和班級之間存在關係,則會出現此錯誤。 – Praveesh

+0

是的,它們之間存在着關聯。那麼如何克服這個解決方案。 –

回答

1
$em = $this->getEntityManager(); 
$query = $em->createQuery(
    'Select p 
    From StudentBundle:Student p 
    Where p.classes c 
    And c.name LIKE :name'); 

$query->setParameter('name','%'.$keyword.'%'); 

寫了你的代碼,你需要給他一個你的類的屬性,而不是類自己。

+1

@Poney我已添加您的代碼顯示[語法錯誤]第0行,第54列:錯誤:預期=,<, <=, <>,>,> =,!=,得到'c'。我認爲,而不是「喜歡」,我們可以使用其他的? –

+1

我的代碼不完整,你必須改變一些東西,c.name,它的c.something,東西是你想要與關鍵字進行比較的屬性的名稱。 而我做了一個巨大的錯誤.. :) 它不是在哪裏,但加入,所以它不是但在哪裏。 對不起,這個巨大的錯誤:p – ElPoney

+0

@Poney:非常感謝...它的工作。有一個愉快的一天。 –

相關問題