我试图修改一个烘焙的"视图"功能,因为我需要检查请求用户是否是所有者。这对于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"
为什么?我该如何添加这个条件?
答案 0 :(得分:2)
检查the documentation for Table::get():
通过主键查找后返回单个记录,如果不是 记录发现此方法抛出异常。
我假设表格中没有记录,其中id为 AND 您传递给条件的用户ID。检查一下。