<?php
class PluginModel extends PluginAppModel {
public function hello(){
$anotherModel =& ClassRegistry::init('Plugin.PluginAnotherModel');
$this->read();
$db =& ConnectionManager::getDataSource($this->useDbConfig);
$db->begin($this);
$anotherModel->create(array('AnotherModel' => $this->data['PluginModel']));
$anotherModel->save();
$db->commit($this);
}
}
?>
此脚本使用ClassRegistry :: init()函数调用另一个模型。从当前模型中抓取数据并将其放入另一个模型的create()中。 当它试图保存时,我得到一个SqlServer错误,将char转换为datetime。 当我调试数据时,它将INSERT日期时间格式显示为'Y-m-d'但在我的app / model / datasource / Sqlserver.php中我指定了datetime ='Ymd'。
为什么日期时间格式没有被提取?它在正常的模型保存上按预期工作,但是当我使用ClassRegistry :: init函数调用另一个模型时却没有?
我有一个解决方法是在保存之前循环遍历数据集,将任何日期时间字段转换为'Ymd',但这听起来不是正确的做法吗?
感谢。
答案 0 :(得分:0)
我刚刚在php中转换了日期格式,因为时间不多了。