微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – CakePHP无法保存到Postgres数据库中,但成功返回

以前有人遇到过这个问题吗?

在CakePHP中,我有这个.

$this->loadModel('BankBalance');
    $data = array("BankBalance"=> array(bla bla bla...);
    $this->BankBalance->save($data);
    $log = $this->BankBalance->getDataSource()->getLog(false,false); debug($log);

并且调试将此返回给我

array(
'log' => array(
    (int) 0 => array(
        'query' => 'BEGIN','params' => array(),'affected' => null,'numRows' => null,'took' => null
    ),(int) 1 => array(
        'query' => 'INSERT INTO bla bla bla...)','affected' => (int) 1,'numRows' => (int) 1,'took' => (float) 7
    ),(int) 2 => array(
        'query' => 'COMMIT','took' => (float) 7
    )
),'count' => (int) 3,'time' => (float) 14)

实际上,尽管返回了成功的消息,但未插入行.但是如果我复制生成sql并运行它,它确实会插入到表中.
我也试过使用savemany,它没有执行INSERTion,但仍然给我回复了成功的消息.

CakePHP中没有错误日志. updateall适用于UPDATE.现在我正在寻找sql INSERT

我甚至不能做 – >保存到一个简单的表中,单个字段(字符变化(50)),没有触发器,没有.返回成功消息,但没有物理数据插入表中.

解决方法

如果要插入数据,则需要按put创建一个新数据

$this->BankBalance->create();

之前的任何地方(最好的开始)

$this->BankBalance->save($data);

并把

if($this->BankBalance->save($data)){
    $log = $this->BankBalance->getDataSource()->getLog(false,false);
    debug($log);
}

代替

$this->BankBalance->save($data);
$log = $this->BankBalance->getDataSource()->getLog(false,false); debug($log);

知道是否成功保存

@H_502_61@

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐