gpt4 book ai didi

php - 一般错误 : 1366 Incorrect integer value with Doctrine 2. 1 和 Zend Form 更新

转载 作者:IT老高 更新时间:2023-10-29 00:14:09 26 4
gpt4 key购买 nike

我正在处理提交的 Zend 表单,它使用以下代码更新 Doctrine Record,其中 $query 是使用 Doctrine 查询构建器构建的查询:

$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();
}
}

如果记录中没有整数,即只有字符串,上面的方法就可以正常工作。但是,如果我在表单中包含在原则实体中映射为整数的字段,则会出现上述错误。

如有任何帮助,我们将不胜感激。

更新:

/**
* @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';

关于php - 一般错误 : 1366 Incorrect integer value with Doctrine 2. 1 和 Zend Form 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874647/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com