ClassRegistry :: init没有从数据源中获取日期时间格式

时间:2013-09-16 12:35:32

标签: php cakephp datasource

<?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',但这听起来不是正确的做法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

我刚刚在php中转换了日期格式,因为时间不多了。