Ich versuche, einige Einträge, die mit allen meiner Schritt Objekte übereinstimmen, aber ich habe keine direkte Beziehung zwischen ihnen, so dass ich eine benutzerdefinierte Abfrage verwenden müssen.Sonata Admin-Liste benutzerdefinierte Abfrage für ListMapper sonata_type_model Feld
Ich habe versucht, dass mein Admin-Klasse in:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('texteEtape', null, array('label' => $this->getTranslator()->trans('label.step.text')));
$this->addCountryListMap($listMapper);
$listMapper
->addIdentifier('id')
->add('temperature')
->add('rincage', null, array('label' => $this->getTranslator()->trans('label.rinsing')))
->add('concentration')
->add('temps', null, array('label' => $this->getTranslator()->trans('label.time')))
->add('produit', null, array('label' => $this->getTranslator()->trans('label.product')))
->add('enabled', null, array('editable' => true))
->add('_action', 'actions', array(
'actions' => array(
'edit' => array(),
'delete' => array()
)
))
->add('updatedAt')
->add('Protocols','sonata_type_model', array('required' => true,
'class'=> 'HypredMainBundle:Protocole','property'=> 'name',
'query_builder' => $this->getProtocoles($listMapper->get('id'))));
Die getProtocoles Funktion:
private function getProtocoles($id) {
$querybuilder = $this->getManager()->getRepository('HypredMainBundle:Etape')->getStepProtocoles($id);
var_dump($querybuilder->getQuery()->getResult());
die();
return $querybuilder;
}
Ich würde gerne wissen, wie auch aktuelle Entität-ID übergeben (Kennung ein FieldDescription Objekt zurück).
Vielleicht vermisse ich etwas oder etwas, ich hoffe, meine Post ist umfassend.
Vielen Dank im Voraus für Ihre Zeit.
Danke für Ihre Antwort, es funktioniert gut :) – Kupris