【问题标题】:CakePHP SaveAll not workingCakePHP SaveAll 不工作
【发布时间】:2011-12-23 13:58:39
【问题描述】:

我似乎无法让我的编辑类工作。我的验证工作正常,当我在点击编辑按钮后使用 debug($this->data) 时,所有显示的数据都是完美的,但没有更新表格。

这是我的编辑类。

public function edit($id = null) {
    if($this->request->is('get')) {
        $this->request->data = $this->Bookmark->read(null, $id);
    } else {
        if($this->Bookmark->saveAll($this->request->data)) {
            $this->Session->setFlash('The bookmark has been saved!');
            $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash('The bookmark could not be saved. Please, try again.');
        }
    }
}

这是视图。

<?php

echo $this->Form->create('Bookmark', array(
    'action' => 'edit',
    'inputDefaults' => array(
        'class' => 'input-text'
    )
));
echo $this->Form->inputs(array(
    'legend' => false,
    'fieldset' => true,
    'Bookmark.title',
    'Url.url',
    'Bookmark.id' => array('type' => 'hidden'),
    'Url.id' => array('type' => 'hidden')
));
echo $this->Form->button('Edit');
echo $this->Form->end();

?>

我已经更新了我的编辑类,但这仍然没有解决我的错误。修复它的是我添加到视图中的两个隐藏字段。

    'Bookmark.id' => array('type' => 'hidden'),
    'Url.id' => array('type' => 'hidden')

不太清楚为什么,但我在网上查看了其他一些编辑视图并尝试了这个,现在它可以工作了。

【问题讨论】:

    标签: cakephp cakephp-2.0


    【解决方案1】:

    尝试关注此页面:http://book.cakephp.org/2.0/en/models/saving-your-data.html

    在 Cake 2.0.x 中,您应该使用 $this-&gt;request-&gt;data,尽管这不太可能是问题所在。您还会看到他们没有手动设置 id,而是允许表单从他们那里执行此操作。

    如果您按照书中的建议尝试,但仍然无法正常工作,请将您的新尝试作为对此问题的编辑发布。

    【讨论】:

    • 我已经尝试过请求并多次阅读该文档。无论有没有请求部分,结果都是相同的。当我删除 $this->Bookmark->id = $id;表单停止预填充表单字段。
    • 我还应该补充一点,如果我使用 save 而不是 saveAll 它将保存标题,但不保存 Url。 SaveAll 什么都不保存。
    • 你不应该需要那个 $id 行——如果你这样做了,那是你找出问题所在的第一条线索。
    【解决方案2】:

    每次发生在我身上都是因为验证错误。检查类似这样的验证错误

    echo debug( $this->ModelName->invalidFields() );
    

    【讨论】:

    • 这里无需回显。只是调试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    相关资源
    最近更新 更多