Intereting Posts
PHP «Помни меня», недостаток безопасности? Автоматическое создание настраиваемых значений полей в WordPress Когда добавлять скобки после нового имени класса? Разбор доменного имени из URL-адреса в PHP ORA-06502: PL / SQL: числовая или значащая ошибка: слишком строчный буфер символьной строки – выполнение с использованием интерфейса OCI PHP: Влияние кода после заголовка («Местоположение: abc.html») как создать фоновый скрипт автоматизации php для Windows и Unix? проблемы с плагином проверки JQuery и файлом ввода Доступ к глобальной конфигурации в Zend Framework 2 Как использовать тернарный оператор вместо if-else в PHP Переменные сеанса устанавливаются только после обновления страницы. Как я могу отправлять электронные письма из класса обслуживания Symfony2? Добавить видео в список избранных пользователей / Like на YouTube аутентификация google oauth Рекомендации по доступу к зарегистрированному объекту пользователя из других классов

Общая ошибка: 1366 Неверное целочисленное значение с обновлением Doctrine 2.1 и Zend Form

Я обрабатываю представленную форму Zend, которая обновляет запись Doctrine Record, используя следующий код, где $ query – это запрос, построенный с использованием построителя запросов доктрины:

$record_array = $query->getResult(); $this->_record = $record_array[0]; if($this->getRequest()->isPost()) { if ($this->_form->isValid($this->_request->getPost())) { $newEntity = $this->_form->update($this->_record); $this->_em->flush(); $this->view->success = 'Record Saved.'; } else { $this->view->errors = $this->_form->getErrors(); } } 

Вышеописанное работает отлично, если в записи нет целых чисел, то есть только строк. Тем не менее, я получаю ошибку выше, если я включаю поля в форму, которые отображаются как целые числа в объекте doctrine.

Любая помощь будет оценена по достоинству.

ОБНОВИТЬ:

 /** * @var integer $solicitorid * * @Column(name="SolicitorID", type="integer", nullable=false) * @Id * @GeneratedValue(strategy="IDENTITY") */ private $solicitorid; /** * @var string $solicitor * * @Column(name="Solicitor", type="string", length=160, nullable=true) */ private $solicitor; /** * @var string $address * * @Column(name="Address", type="string", length=160, nullable=true) */ private $address; /** * @var string $town * * @Column(name="Town", type="string", length=100, nullable=true) */ private $town; /** * @var string $county * * @Column(name="County", type="string", length=100, nullable=true) */ private $county; /** * @var string $postcode * * @Column(name="Postcode", type="string", length=100, nullable=true) */ private $postcode; /** * @var string $dxaddress * * @Column(name="DXAddress", type="string", length=150, nullable=true) */ private $dxaddress; /** * @var string $phone * * @Column(name="phone", type="string", length=30, nullable=true) */ private $phone; /** * @var string $fax * * @Column(name="fax", type="string", length=30, nullable=true) */ private $fax; /** * @var string $email * * @Column(name="email", type="string", length=255, nullable=true) */ private $email; /** * @var string $password * * @Column(name="password", type="string", length=30, nullable=false) */ private $password; /** * @var integer $leadStatus * * @Column(name="lead_status", type="integer", nullable=true) */ private $leadStatus; /** * @var string $termsref * * @Column(name="termsRef", type="string", length=10, nullable=true) */ private $termsref; /** * @var integer $termsconditions * * @Column(name="termsconditions", type="integer", nullable=true) */ private $termsconditions; /** * @var date $termssent * * @Column(name="termsSent", type="date", nullable=true) */ private $termssent; /** * @var date $termssigneddate * * @Column(name="termssigneddate", type="date", nullable=true) */ private $termssigneddate; /** * @var integer $paymentterms * * @Column(name="paymentterms", type="integer", nullable=true) */ private $paymentterms; /** * @var integer $discountterms * * @Column(name="discountterms", type="integer", nullable=true) */ private $discountterms; /** * @var float $discountrate * * @Column(name="discountrate", type="float", nullable=true) */ private $discountrate; /** * @var integer $accountscontact * * @Column(name="AccountsContact", type="integer", nullable=true) */ private $accountscontact; /** * @var date $warned * * @Column(name="warned", type="date", nullable=true) */ private $warned; /** * @var float $feerate * * @Column(name="FeeRate", type="float", nullable=true) */ private $feerate; /** * @var string $labourrate * * @Column(name="LabourRate", type="string", length=100, nullable=true) */ private $labourrate; /** * @var text $specialinst * * @Column(name="SpecialInst", type="text", nullable=true) */ private $specialinst; /** * @var text $reportinst * * @Column(name="ReportInst", type="text", nullable=true) */ private $reportinst; /** * @var boolean $autostatement * * @Column(name="AutoStatement", type="boolean", nullable=true) */ private $autostatement; /** * @var datetime $lastmodifed * * @Column(name="lastModifed", type="datetime", nullable=false) */ private $lastmodifed; 

Выше – сущность. Проблема возникает, когда я пытаюсь обновить целое поле.

вы используете MySQL? это может случиться, потому что MySQL работает в строгом режиме. выполните эти запросы от phpMyAdmin или любого другого администратора домена, который вы используете, чтобы проверить, находится ли база данных в строгом режиме:

 SELECT @@GLOBAL.sql_mode; SELECT @@SESSION.sql_mode; 

если он возвращает что-то, содержащее STRICT_TRANS_TABLES вы можете попробовать и запустить:

 SET @@global.sql_mode= 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';