在我的Symfony2應用程序中,人們可以編寫將在網頁上發佈的文本。 有一個選項可以寫一個新的文本,你必須選擇它將屬於的網頁。如何使用querybuilder在Symfony2表單中創建一個字段,排除沒有多對多關係的實體?
我想實現的是,這個網頁列表顯示的網頁只有一個文字。否則,您將最終替換現有文本。
所以我想寫點東西像這樣在我的表單類型:
$qb->select('wp')
->from('MyBundle:Webpage', 'wp')
->where('wp.webtexts is null')
->orderBy('wp.id');
問題就出現了圍繞「wp.webtexts爲空」的聲明。這是一個(完全運作)的多對多關係,我想測試這裏是否沒有關係。我收到的錯誤是:
[Semantical Error] line 0, col 70 near 'webtexts is null': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
如何查詢與任何webtexts無關的網頁?
補充:
怎麼能指望我關係的量?這種表示法:
$qb->where($qb->expr()->count('wp.webtexts < 1'))
...給我:
[Syntax Error] line 0, col 85: Error: Expected Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS, got '<'
我想你應該使用類似'count(wp.webtexts)= 0' – Ziumin
好思想!你知道這可以做到嗎?我已經擴展了我的問題了一點... –