У меня возникла проблема с сохранением нулевого значения, которое уже сохраняется с объектом.
Он вызывает следующую ошибку.
Catchable Fatal Error: Argument 1 passed to MyProject\EntityBundle\Entity\Requirements::setReplacedEmployee() must be an instance of MyProject\EntityBundle\Entity\Employee, null given, called in /var/www/MyProject/vendor/symfony/src/Symfony/Component/Form/Util/PropertyPath.php on line 347 and defined in /var/www/MyProject/src/MyProject/EntityBundle/Entity/Requirements.php line 384
Первоначально я сохраняю объект replaceEmployee, который может быть null / object. Но позже, если я заменю объект нулевым, при редактировании он выдает указанную выше ошибку.
Ниже приведен код моего контроллера.
try { if ($request->request->get('save') === 'Save') { $form->bindRequest($request); // this is the line which throws the above error if ($form->isValid()) { $requirementObj->setUpdatedAt(new \DateTime('now')); $em->flush(); $request->request->set('requirementId', $requirementId); return $this->displayAction($request); } } }
Это содержимое в файле Requirements.php, которое является файлом сущности.
/** * @var replacedEmployee * * @ORM\ManyToOne(cascade={"persist"},targetEntity="Employee") * @ORM\JoinColumns({ * @ORM\JoinColumn(name="replaced_employee_id",referencedColumnName="id",onDelete="CASCADE") * }) */ private $replacedEmployee; /** * Set replacedEmployee * * @param MyProject\EntityBundle\Entity\Employee $replacedEmployee */ public function setReplacedEmployee(\MyProject\EntityBundle\Entity\Employee $replacedEmployee) { $this->replacedEmployee = $replacedEmployee; } /** * Get replacedEmployee * * @return MyProject\EntityBundle\Entity\Employee */ public function getReplacedEmployee() { return $this->replacedEmployee; }
Может ли кто-нибудь предложить решение этой проблемы.
Заранее спасибо.