检查数据库Symfony中是否存在值

时间:2017-06-02 11:56:04

标签: symfony doctrine-orm symfony-3.2

你好我是一名初学者,对于学校我需要在Symfony做一个项目。 我需要检查我的数据库中是否存在$polisnummer al。这是我的代码。 这是一个学校项目。所以我不是Symfony的专家

/**
 * @Route("/patient/create", name="patient_create")
 */
public function createAction(Request $request)
{

    $patient = new patienten;

     $form = $this->createFormBuilder($patient)
         ->add('voornaam', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('achternaam', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('polisnummer', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('tussenvoegsel', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('geboortedatum', DateType::class, array('widget' => 'single_text',))

         ->add('adres', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('postcode', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('plaats', TextType::class, array('attr'=> array('class' => 'form-control','style' => 'margin-bottom:15px')))
         ->add('geslacht',Choicetype::class,array('choices'=>array(
             'Man'=>'Man',
             'Vrouw'=>'Vrouw'),'attr'=>array('class'=>'form-control','style'=>'margin-bottom:15px')))
         ->add('bloedgroep',Choicetype::class,array('choices'=>array(
             'A+'=>'A+',
             'A-'=>'A-',
             'B+'=>'B+',
             'B-'=>'B-',
             'AB+'=>'AB+',
             'AB-'=>'AB-',
             '0+'=>'0+',
             '0-'=>'0-'),'attr'=>array('class'=>'form-control','style'=>'margin-bottom:15px')))
         //->add('zorgverzekering', ChoiceType::class, array('choices' => $zorgverzekeringen[0]->getNaam(), 'choice_label' => 'naam'))
         ->add('Save',SubmitType::class,array('label'=> 'Voeg patient toe' ,'attr'=>array('class'=>'btn btn-primary','style'=>'margin-bottom:15px')))
        ->getForm();

         $form->handleRequest($request);

         if($form->isSubmitted() && $form->isValid()){

         //Haalt de data op

             $voornaam = $form['voornaam']->getData();
             $achternaam = $form['achternaam']->getData();
             $polisnummer = $form['polisnummer']->getData();
             $tussenvoegsel = $form['tussenvoegsel']->getData();
             $geboortedatum = $form['geboortedatum']->getData();
             $adres = $form['adres']->getData();
             $postcode = $form['postcode']->getData();
             $plaats = $form['plaats']->getData();
             $geslacht = $form['geslacht']->getData();
             $bloedgroep = $form['bloedgroep']->getData();





             $patient->setvoornaam($voornaam);
             $patient->setachternaam ($achternaam);
             $patient->setpolisnummer($polisnummer);
             $patient->settussenvoegsel($tussenvoegsel);
             $patient->setGeboortedatum($geboortedatum);
             $patient->setAdres($adres);
             $patient->setPostcode($postcode);
             $patient->setPlaats($plaats);
             $patient->setBloedgroep($bloedgroep);
             $patient->setActief(1);



             $em = $this->getDoctrine()->getManager();
             $em->persist($patient);
             $em->flush();

             $this->addFlash(
                 'notice',
                 'Patient toegevoegd!'
             );
         return $this->redirectToRoute('patienten');
     }
    return $this->render('patient/create.html.twig', array(
        'form'=>$form->createView()
    ));
}

1 个答案:

答案 0 :(得分:0)

您正在尝试使用' find'方法,但没有提供对象id,

相反,你应该使用->findByPolisnummer()(学说自动创建这个)

或通用->findBy()(在您的情况下:->findBy(['polisnummer' => $polisnummer])

还阅读文档...下载然后离线使用,如果你学校块(你的学校很奇怪)