Cakephp:错误:请求的地址' / cakephp / options / edit / 1'在这服务器上没找到

时间:2014-06-08 15:25:10

标签: php cakephp

我在选项控制器中有以下编辑方法

public function edit($id = null) {
    if (!$this->Option->exists($id)) {
        throw new NotFoundException(__('Invalid option'));
    }
    if ($this->request->is(array('post', 'put'))) {
        if ($this->Option->save($this->request->data)) {
            $this->Session->setFlash(__('The option has been saved.'));

            return $this->redirect(array('action' => 'index'));
        } else {
            $this->Session->setFlash(__('The option could not be saved. Please, try again.'));
        }
    } else {

        $options = array('conditions' => array('Option.' . $this->Option->primaryKey => $id));
        $this->request->data = $this->Option->find('first', $options);
    }
}

当我尝试访问url(options / edit / 1)时,它会给我一个Error: The requested address '/cakephp/options/edit/1' was not found on this server.的错误,以及索引视图运行正常的奇怪。

我试图跟踪错误,我发现以下代码行匹配

if (!$this->Option->exists($id)) {
        throw new NotFoundException(__('Invalid option'));
    }

这意味着数据库中不存在options.id,而数据库中存在id,我多次检查

在这里你可以找到完整的错误堆栈

  

无效选项   错误:请求的地址' / cakephp / options / edit / 1'在这服务器上没找到。   堆栈跟踪   [内部功能]→OptionsController->编辑(字符串)   CORE / Cake / Controller / Controller.php第490行→ReflectionMethod-> invokeArgs(OptionsController,数组)   CORE / Cake / Routing / Dispatcher.php第191行→Controller-> invokeAction(CakeRequest)   CORE / Cake / Routing / Dispatcher.php第165行→Dispatcher-> _invoke(OptionsController,CakeRequest)   APP / webroot / index.php第108行→Dispatcher-> dispatch(CakeRequest,CakeResponse)

这是什么问题?

更新

我尝试使用以下函数(exist)更改$this->Option->findAllById($id)函数,并且它使其工作得很好

所以问题似乎与存在的功能有关..

0 个答案:

没有答案