CakePHP 3$this->;型号->;有条件吗?
我试图修改一个烘焙的“视图”函数,因为我需要检查请求用户是否是所有者。这在CakePHP2.x中曾经非常简单,但在版本3中我遇到了一些麻烦 这是烘焙函数:CakePHP 3$this->;型号->;有条件吗?,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我试图修改一个烘焙的“视图”函数,因为我需要检查请求用户是否是所有者。这在CakePHP2.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' => []
]);
$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"
为什么呢?如何添加该条件?检查:
如果没有,则在通过主键找到单个记录后返回该记录
找到记录此方法引发异常
我假设表中没有id为4的记录,也没有传递给条件的用户id。检查这一点。您也可以尝试将find()与first()或firstOrFail()一起使用,因为这样可以让您更好地处理afaik。该死的,您是对的,我正在寻找我没有的东西。那个例外信息误导了我,但完全是我的错。谢谢