之前是否有人遇到此问题?
在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,它没有做INSERTion,但仍然给我回复了成功的消息。
CakePHP中没有错误日志。 updateAll适用于UPDATE。现在我正在寻找sql INSERT
我甚至不能将 - >保存到一个包含单个字段的简单表中(字符变化(50)),没有触发器,什么都没有。返回成功消息但没有物理数据插入表中。
答案 0 :(得分:0)
如果要插入数据,则需要按
创建一个新数据$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);
知道是否成功保存
答案 1 :(得分:0)
save($entity)
需要实体,您提供一个数组:
$this->loadModel('BankBalance');
$data = array("BankBalance"=> array(bla bla bla...);
$entity = $this->BankBalance->newEntity($data);
$result = $this->BankBalance->save($entity);