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

voj3qocg  于 2022-11-11  发布在  PHP
关注(0)|答案(2)|浏览(401)

以前是否有人遇到过此问题?
在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...)',
        '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)

实际上,尽管返回了成功的消息,但行并没有被插入。但如果我复制生成的SQL并运行它,它确实插入到表中。我也尝试过使用saveMany,它没有执行INSERT,但仍然返回了成功的消息。
在CakePHP中没有错误日志。updateAll对于UPDATE工作正常。现在我在寻找sql INSERT
我甚至不能把-〉保存到一个简单的表中,只有一个字段(字符变化(50)),没有触发器,什么都没有。给我返回成功消息,但没有物理数据插入到表中。

htzpubme

htzpubme1#

如果要插入数据,则需要通过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);

了解是否保存成功

nlejzf6q

nlejzf6q2#

save($entity)需要实体,您提供数组:

$this->loadModel('BankBalance');
$data = array("BankBalance"=> array(bla bla bla...);
$entity = $this->BankBalance->newEntity($data);
$result = $this->BankBalance->save($entity);

相关问题