ฉันกำลังพยายามล้างวัตถุเอนทิตีที่ Persited แต่ฉันได้รับข้อความแสดงข้อผิดพลาดนี้:
Fatal error: Call to a member function format() on a non-object in C:\xampp\htdocs\project\vendor\doctrine\dbal\lib\Doctrine\DBAL\Types\DateType.php on line 44
จริงๆ แล้วนี่คือวิธีดำเนินการ:
public function processRegisterFormAction()
{
$data = filter_var_array($_POST['form'], FILTER_SANITIZE_STRING);
extract($data);
$customer = new Customer();
$dob = explode('/', $date_of_birth);
$date_of_birth = $dob[2] . '-' . $dob[1] . '-' . $dob[0];
$datetime = date('Y-m-d H:i:s');
$customer->setEmail($email);
$customer->setPassword($password);
$customer->setName($name);
$customer->setGender($gender);
$customer->setDateOfBirth($date_of_birth);
$customer->setZipcode($zipcode);
$customer->setState($state);
$customer->setCity($city);
$customer->setDistrict($district);
$customer->setAddress($address);
$customer->setStreetNumber($street_number);
$customer->setCompanyName($company_name);
$customer->setCreated( $datetime);
$customer->setLastModified($datetime);
$em = $this->getDoctrine()->getManager();
$em->persist($customer);
$em->flush();
return new Response('Created Customer ' . $customer->getId() );
}
ในเอนทิตีของฉันฉันได้ประกาศ $dateOfBirth, $created, $lastModified เป็น "String" เพราะฉันคิดว่ามันเป็นเรื่องที่เกี่ยวข้องกับ datetime แต่ไม่!
และฉันทิ้ง $em->persist($customer) มันคืนค่า NULL
die(var_dump($em->persist($customer)));
ขอบคุณล่วงหน้า!