i have entity developer
/** * developers * * @orm\table(name="developers") * @orm\entity(repositoryclass="artel\customerbundle\entity\repository\developersrepository") */ class developers extends suser { /** * @var integer * * @orm\column(name="id", type="integer") * @orm\id * @orm\generatedvalue(strategy="auto") */ protected $id; /** * @orm\onetomany(targetentity="codeuserreference", mappedby="developer", cascade={"persist"}) */ protected $reference_developer; and entity codeuserreference
/** * coders 24 users * * @orm\table(name="code_user_reference") * @orm\entity(repositoryclass="artel\customerbundle\entity\codeuserreferencerepository") */ class codeuserreference { /** * @var integer * * @orm\column(name="id", type="integer") * @orm\id * @orm\generatedvalue(strategy="auto") */ protected $id; /** * @orm\manytoone(targetentity="developers", inversedby="reference_developer") * @orm\joincolumn(name="user_talnet_file", nullable = true, referencedcolumnname="id") * */ protected $developer; and questionhow delete developer have error
an exception occurred while executing 'delete developers id = ?' params [559]: sqlstate[23000]: integrity constraint violation: 1451 cannot delete or update parent row: foreign key constraint fails (`artel`.`code_user_reference`, constraint `fk_e57a030d93d16bfc` foreign key (`user_talnet_file`) references `developers` (`id`)) this action
/** * displays form edit existing freelancers entity. * * @route("/{id}/edit", name="admin_freelancers_edit") * @method("get") * @template() */ public function editaction($id) { $em = $this->getdoctrine()->getmanager(); $entity = $em->getrepository('artelcustomerbundle:developers')->find($id); if (!$entity) { throw $this->createnotfoundexception('unable find freelancers entity.'); } $editform = $this->createeditform($entity); $deleteform = $this->createdeleteform($id); return array( 'entity' => $entity, 'edit_form' => $editform->createview(), 'delete_form' => $deleteform->createview(), ); } /** * creates form delete freelancers entity id. * * @param mixed $id entity id * * @return \symfony\component\form\form form */ private function createdeleteform($id) { return $this->createformbuilder() ->setaction($this->generateurl('admin_freelancers_delete', array('id' => $id))) ->setmethod('delete') ->add('submit', 'submit', array('label' => 'delete')) ->getform() ; } /** * deletes freelancers entity. * * @route("/{id}", name="admin_freelancers_delete") * @method("delete") */ public function deleteaction(request $request, $id) { $form = $this->createdeleteform($id); $form->handlerequest($request); if ($form->isvalid()) { $em = $this->getdoctrine()->getmanager(); $entity = $em->getrepository('artelcustomerbundle:developers')->find($id); if (!$entity) { throw $this->createnotfoundexception('unable find freelancers entity.'); } $em->remove($entity); $em->flush(); } return $this->redirect($this->generateurl('admin_freelancers')); } before developer not have field reference_developer , actionwork fine add field , table , have developer , developer hame more 1 or 2 or 5 reference , dont know how corect developer refernce ? please
your issue here developer has existing recorcodeuserreference's. need update developer onetomany include cascade "remove".
/** * @orm\onetomany(targetentity="codeuserreference", mappedby="developer", cascade={"persist", "remove"}) */ protected $reference_developer; there great explaination in here: on delete cascade doctrine2
Comments
Post a Comment