<?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() 中。当它尝试保存时,将 char 转换为 datetime 时出现 SqlServer 错误。当我调试数据时,它显示 INSERT 日期时间格式为“Ymd”,但在我的 app/model/datasource/Sqlserver.php 中,我指定了 datetime = 'Ymd'。
为什么没有选择日期时间格式?它在正常模型保存时按预期工作,但当我使用 ClassRegistry::init 函数调用另一个模型时却不行?
我有一个在保存之前循环数据集以将任何日期时间字段转换为“Ymd”的工作,但这听起来不像是正确的做法吗?
谢谢。