symfony amministratore generatore table_method
-
28-09-2019 - |
Domanda
Quando si configura il mio generatore di amministrazione ho creato un table_method per il mio punto di vista lista, al fine di unire le tabelle corrette e così via.
Tuttavia, a mio Modifica post / creare sezioni pubblicare Ho un piuttosto ampio menu a discesa che non fa parte al momento. Esiste un equivalente a table_method che posso usare per queste situazioni per specificare il metodo che deve essere utilizzato per recuperare il record?
Grazie in anticipo.
Soluzione
È necessario modificare il rispettivo widget di nelle classi del form. (SomeModelForm.class.php in lib / form / doctrine).
Tutti i widget Doctrine accettano un'opzione "query" per consentire di passare una query dottrina a un eccesso di cavalcare la query predefinita la forma crea, o un'opzione "table_method" che può restituire una query o una raccolta dottrina a oltre -ride il default.
A titolo di riferimento, vedi: http://www.symfony-project.org / api / 1_4 / sfWidgetFormDoctrineChoice
Per usare interrogazione, qualcosa sulla falsariga di:
$somedoctrinequery = Doctrine::getTable('ModelName')->createQuery('t')->leftJoin('t.Relation r');
$this->widgetSchema['field_name']->setOption('query', $somedoctrinequery);
o ad uso table_method:
$this->widgetSchema['field_name']->setOption('table_method', 'myMethod');