मैं निम्नलिखित कोड है, जहां $ क्वेरी एक प्रश्न एक सिद्धांत क्वेरी बिल्डर का उपयोग करके बनाया है का उपयोग कर एक प्रस्तुत Zend फार्म जो अद्यतन करता है एक सिद्धांत रिकार्ड प्रसंस्करण कर रहा हूँ:सामान्य त्रुटि: सिद्धांत 2.1 और Zend फार्म के साथ 1366 में गलत पूर्णांक मान अद्यतन
$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;
ऊपर इकाई है। समस्या तब आती है जब मैं एक पूर्णांक फ़ील्ड को अद्यतन करने का प्रयास करता हूं।
यह किया सख्त_trans_tables शामिल हैं, और आपके सुझाव ने इसे बंद कर दिया है। वास्तव में इसका क्या असर पड़ता है, यह पहले स्थान पर क्यों होना चाहिए? – Quanano
यह बहुत सटीक है: "गैर-सख्त मोड में, MySQL सर्वर ग़लत इनपुट मानों को निकटतम कानूनी मानों (कॉलम परिभाषाओं से निर्धारित) में परिवर्तित करता है और इसके रास्ते पर जारी रहता है। उदाहरण के लिए, यदि आप ऋणात्मक मान को संग्रहीत करने का प्रयास करते हैं एक अनसुलझा कॉलम, MySQL इसे शून्य में परिवर्तित करता है, जो कॉलम के लिए निकटतम कानूनी मान है। " सख्त मोड में यह सीधे उन रूपांतरणों को छोड़ देगा और उस त्रुटि को फेंक देगा जिसे आप देख रहे हैं। हो सकता है कि आप उस इकाई के मैपिंग को पोस्ट कर सकें जिसे आप अपडेट करने का प्रयास कर रहे हैं, और वास्तविक डेटा जिसे आप इसे अपने फॉर्म में भेज रहे हैं – jere