테이블에 $_POST['email']
값이 있는지 확인하고 싶습니다. 그렇지 않은 경우 새 값을 데이터베이스에 추가해야합니다.데이터베이스에 값이 있는지 확인하십시오.
$member = new Members();
$member->setEmail($_POST['email']);
$member->setName($_POST['vorname']);
$member->setPassword(password_hash($_POST['pw1'], PASSWORD_DEFAULT));
$em = $this->getDoctrine()->getManager();
$em->persist($member);
$get_email = $this->getDoctrine()->getRepository('AppBundle:Members')->find($_POST['email']);
if (!$get_email) {
$em->flush();
echo 'User registered.';
}
else {
echo 'User already exists.';
}
이 경우 사용자는 항상 등록됩니다.
내 코드가 잘못되었습니다.
대신에 findBy()가 아닌가? 'find()'에 배열을 전달할 때? –
@ MagnusEriksson 당신은 절대적으로 맞습니다. 'findBy'는 나를 위해 매력처럼 작동합니다! –
오, 미안, 나는 OP의 게시물을 놓쳤다. @MagnusEriksson에게 고지를 보내 주셔서 감사합니다. –