gpt4 book ai didi

php - MySQL 中的 CakePHP 错误日期

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:47 24 4
gpt4 key购买 nike

我在 MySQL 中的日期时间类型的表中有一个名为 issue_date 的字段,我更改为日期。

当我试图将日期保存到数据库时,它是用
保存的奇怪的年份(例如 2196),当实际日期是 2003 年时,我在保存之前输出了对象并显示了实际日期(2003-06-30)

该字段是issue_date

这是我要保存的函数:

public function populate(){
$this->tangoModel=$this->loadModel('Tango');
$tango=$this->tangoModel->getInvoices();
$this->obrasModel=$this->loadModel('Obras');
$obras=$this->obrasModel->getObras();
foreach($tango as $invoice){
$data[] = ([
'issue_date' => date('Y-m-d', strtotime($invoice['issue_date'])),
'type' => $invoice['type']
]
);
}
print_r($data);
$invoices = $this->Invoices->newEntities($data);
foreach($invoices as $invoice){
if ($this->Invoices->save($invoice)) {
$this->Flash->success(__('The invoice has been saved.'));
};
}


}

这是一个数据数组对象的输出:

[0] => Array
(
[issue_date] => 2003-06-30,
[type] => CRE
)

这是如何在 MySQL 中插入的输出

    [{"id":"1",
"issue_date":"2196-11-06",
"type":"CRE"
}]

这是在 /Model/Table 中的 InvoicesTable 文件中验证字段的方式:

public function validationDefault(Validator $validator)
{
$validator
->add('id', 'valid', ['rule' => 'numeric'])
->allowEmpty('id', 'create');

$validator
->add('issue_date', 'valid', ['rule' => 'date'])
->allowEmpty('issue_date');
$validator
->allowEmpty('type');

return $validator;
}
}

这是/Model/Entity中的实体文件Invoice.php>

   /**
* Invoice Entity.
*
* @property int $id
* @property \Cake\I18n\Time $issue_date
* @property string $type
*/
class Invoice extends Entity
{

/**
* Fields that can be mass assigned using newEntity() or patchEntity().
*
* Note that when '*' is set to true, this allows all unspecified fields to
* be mass assigned. For security purposes, it is advised to set '*' to false
* (or remove it), and explicitly make individual fields accessible as needed.
*
* @var array
*/
protected $_accessible = [
'*' => true,
'id' => false,
];
}

谢谢

最佳答案

它在 Controller 中添加:

use Cake\Database\Type; 
Type::build('date')->setLocaleFormat('yyyy-MM-dd');

感谢 ndm

关于php - MySQL 中的 CakePHP 错误日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34270890/

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