gesetzt wurde Kann jemand mir erklären, wie diese Fehler zu beheben „Kein-Objekt-Manager eingestellt wurde“Kein Objektmanager ZF2 Fieldset
Hier die Fieldset ist:
namespace Trunk\Form;
use Trunk\Entity\Category;
use Doctrine\Common\Persistence\ObjectManager;
use DoctrineModule\Stdlib\Hydrator\DoctrineObject as DoctrineHydrator;
use Zend\Form\Fieldset;
use Zend\InputFilter\InputFilterProviderInterface;
class CategoryFieldset extends Fieldset implements InputFilterProviderInterface
{
public function __construct($objectManager)
{
parent::__construct('category');
$this->setHydrator(new DoctrineHydrator($objectManager, 'Trunk\Entity\Category'));
$this->add(array(
'type' => 'DoctrineORMModule\Form\Element\DoctrineEntity',
'name' => 'title',
'object_manager' => $objectManager,
'target_class' => 'Trunk\Entity\Category',
'property' => 'title',
'is_method' => false,
'find_method' => array(
'name' => 'findBy',
'params' => array(
'criteria' => array('parentid' => 0),
'orderBy' => array('title' => 'ASC'),
),
)
));
}
}
Hier ist die Fehlermeldung:
F: \ xampp \ htdocs \ travelltheworld \ Kreditoren \ Lehre \ Lehre-Modul \ src \ DoctrineModule \ Formular \ Element \ proxy.php: 535
No Objektmanager wurde
Ich habe den Entity Manager in der Fabrik in meine Form, die ProductForm genannt wird, eingefügt. Innerhalb dieses Formulars habe ich ein Basis-Fieldset namens ProductFieldset und in ProductFieldset habe ich CategoryFieldset eingefügt, wo ich die Kategorien aus der Datenbank auswählen und sie im Auswahlfeld anzeigen muss.
Wenn Sie mehr Code oder Erklärung benötigen, fragen Sie mich bitte.
Zunächst möchte ich die verspätete Antwort entschuldigen und danke @Hooli. Deine Antwort ist richtig! Anstelle von Konstruktoren verwende ich Initialisierer in der Form und den Feldgruppen. Anstelle der Eigenschaft verwende ich intereface ObjectManagerAwareInterface. Ich folgte der Erklärung hier https://github.com/doctrine/DoctrineModule/issues/175 – Sezgin