cakephp 保存返回 true 但不保存

Posted

技术标签:

【中文标题】cakephp 保存返回 true 但不保存【英文标题】:cakephp save returns true but does not save 【发布时间】:2009-11-05 05:38:00 【问题描述】:

Cakephp 快把我逼疯了!

这是我的代码:

if($this->Page->save($datavalue))

$this->Session->setFlash('Page content updated successfully.');

else

$this->Session->setFlash('Page content was not updated.');

它总是说更新成功,但数据库中没有任何更新。 这是$datavalue的内容:

Array
(
    [Page] => Array
        (
            [id] => 1
            [name] => home
            [title] => Home page1
            [meta_keywords] => keyword1
            [meta_description] => this is home page
            [content] => home page content
            [sidebar] => sidebar content
        )

)

我是 CakePHP 的新手,能否请您大致了解一下它可能出了什么问题?

提前致谢。

-happyhardik

这是我的型号代码:

<?php

class Page extends AppModel
   
    var $name='Page';
    var $useTable = false;    

?>

希望这会有所帮助! 我尝试在保存之前添加这两行,希望它会有所帮助:

$this->Page->set($datavalue);
$this->Page->id = $id;  

但他们都没有帮助。


这是表结构:

id               int(10) UNSIGNED  auto_increment  Primary
name             varchar(250) 
title            varchar(250) 
meta_keywords    text   
meta_description text
content          text 
sidebar          text
created          datetime
modified         datetime

如果需要更多信息,请告诉我。 感谢阅读。

【问题讨论】:

core.php 中将调试设置为2,并告诉我们您的SQL 调试是什么样的。 其设置为 3,页面底部显示:(默认)0 查询耗时毫秒 您是否为 Page 定义了任何验证规则? 您是否在 Page 模型中做任何时髦的事情,例如覆盖 save() 方法? 我没有任何验证或我没有覆盖保存方法,请检查我上面的模型代码。我不知道如何在 Cake 中添加时髦的东西,因为我还在弄清楚它是什么。 :) 【参考方案1】:
var $useTable = false;    

嗯,你没有使用任何表,这使得save() 几乎是一个 NOOP。 :-)

删除那条线,你应该没问题。

【讨论】:

【参考方案2】:

我有同样的问题,谷歌把我带到这里

我启用了public $scaffold,因此无法保存。 只是一个参考,以防任何人有同样的问题

【讨论】:

以上是关于cakephp 保存返回 true 但不保存的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP beforeSave false 防止不刷新就提交

无法在 cakephp 中保存来自 excel 的循环数据

CakePHP 3 新实体保存失败且没有错误

CakePHP SaveMany 不保存

SetState 更新但不保存

CAKEPHP 3 在数据库中保存成功关闭日期后不为空,它具有今天的值