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

Fir*_*ire 5 postgresql cakephp

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

在CakePHP中,我有这个.

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

并且调试将此返回给我

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...)',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 7
    ),
    (int) 2 => array(
        'query' => 'COMMIT',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 7
    )
),
'count' => (int) 3,
'time' => (float) 14)
Run Code Online (Sandbox Code Playgroud)

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

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

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

小智 0

如果要插入数据,需要通过put新建一个

$this->BankBalance->create();
Run Code Online (Sandbox Code Playgroud)

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

$this->BankBalance->save($data);
Run Code Online (Sandbox Code Playgroud)

并把

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

代替

$this->BankBalance->save($data);
$log = $this->BankBalance->getDataSource()->getLog(false, false); debug($log);
Run Code Online (Sandbox Code Playgroud)

知道是否保存成功