У меня проблема с моим кодом. Я просто пытаюсь вставить простой набор данных в свой db, но доктрина вставляет мой атрибут (telVerifCode) как NULL.Значение, установленное в null на доктрине флеша
Я сбросил свои данные и выяснил, что этот атрибут (telVerifCode) имеет некоторое значение в нем, но после того, как я сбросил его, он установлен в значение NULL.
Это мой контроллер:
$user = $this->getUser();
if ($user->getTel() != $tel || $user->getTelCode() != $telCode) {
try {
$code = $this->sendTelehopneCode($user);
} catch (\Exception $e) {
//.......
}
// update user phone verifcation fields //
$user->setTelVerifCode($code);
$user->setLastTelVerificationCodeDate(new \DateTime());
$em->persist($user);
$em->flush();
}
Мой ORM Mapping:
/**
* @var string
*
* @ORM\Column(name="tel_verification_code", type="string", length=255, nullable=true)
*/
protected $telVerifCode;
/**
* @var \DateTime
*
* @ORM\Column(name="last_tel_verification_code_date", type="date", nullable=true)
*/
protected $lastTelVerificationCodeDate;
sendTelehopneCode функция:
private function sendTelehopneCode($user)
{
$code = strval(rand(100000, 999999));
$tel = $user->getTelCode() . $user->getTel();
$msg = 'code:' . $code;
$twilio = $this->get('twilio.api');
try {
$message = $twilio->account->messages->sendMessage(
"+14*******", // Verified Outgoing Caller ID or Twilio number
$tel, // The phone number you wish to send a message to
$msg
);
} catch (\Services_Twilio_RestException $e) {
throw $e;
}
return $code;
}
Есть ли тип данных несоответствия между исходными данными и ОРМОМ конфигурацией (строка)? – Jeet
$ code является строковым данным – ghazi2008
Тогда не имеет смысла быть 'null' на' flush() '. Можете ли вы поместить весь код из этого метода в контроллер? – Jeet