CakePHP 3 $ this-> Model->得到条件?

时间:2014-12-22 16:09:47

标签: cakephp cakephp-3.0

我试图修改一个烘焙的"视图"功能,因为我需要检查请求用户是否是所有者。这对于CakePHP 2.x来说非常简单,但我对版本3感到头痛。

这是烘焙功能:

public function view($id = null) {
    $invoice = $this->Invoices->get($id, [
        'contain' => []
    ]);

    $this->set('invoice', $invoice);
}

哪种方法效果很好,但正如我所说,我想添加一些条件,比如

public function view($id = null) {
    $invoice = $this->Invoices->get($id, [
        'contain' => [],
        'conditions' => [
            'user_id' => $this->Auth->user('id')
        ]
    ]);

    $this->set('invoice', $invoice);
}

问题在于它无法正常工作。我得到的只是

Error: Record "4" not found in table "invoices"

为什么?我该如何添加这个条件?

1 个答案:

答案 0 :(得分:2)

检查the documentation for Table::get()

  

通过主键查找后返回单个记录,如果不是   记录发现此方法抛出异常

我假设表格中没有记录,其中id为 AND 您传递给条件的用户ID。检查一下。