【问题标题】:cakephp save returns true but does not savecakephp 保存返回 true 但不保存
【发布时间】: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 中添加时髦的东西,因为我还在弄清楚它是什么。 :)

标签: cakephp save


【解决方案1】:
var $useTable = false;    

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多