1
<?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”的工作,但这听起来不像是正确的做法吗?

谢谢。

4

1 回答 1

0

我最后只是在php中转换了日期格式,因为时间不多了。

于 2014-01-24T12:44:01.343 回答