2
我的表單中有一個實體字段,它顯示數據庫中列表中的所有表單。這些表格有版本號。我想要做的只是在列表中只顯示錶單的最後一個修訂版本作爲選項。Query_builder Symfony表單生成器錯誤
爲了澄清,形式表看起來像這樣
Id || Name || Revision_number
1 || Form1 || 1
2 || Form1 || 2
選擇列表只顯示修改2.
到目前爲止,我已經試過這
->add('form', 'entity', array(
'class' => 'AppBundle\Entity\Form',
'label' => 'label.ship.form',
'query_builder' => function(EntityRepository $er){
return $er->createQueryBuilder('f')
->select('f, MAX(f.revisionNumber) AS max_revision');
}
))
,但我得到此錯誤
Warning: spl_object_hash() expects parameter 1 to be object, string given
永遠不會在一百萬年中想到這一點。它像一個魅力。非常感謝! – Jaimy
實際上,您可能根本不需要存儲庫解決方法。這應該工作: 'query_builder'=> function(EntityRepository $ er){err-> createQueryBuilder('f'); $ er-> select('f,MAX(f.revisionNumber)AS max_revision'); return $ er; } –
我必須將代碼稍微更改爲這個 $ er-> createQueryBuilder('f') - > select('f,MAX(f.revisionNumber)AS max_revision'); return $ er; 但現在我得到這個錯誤:給定類型「Doctrine \ ORM \ QueryBuilder」,「Doctrine \ ORM \ EntityRepository」的預期參數 – Jaimy