在目的上没有ID为0的记录。而我正在
$id = 0;
try {
$object = $this->MyModel->get($id);
} catch(Exception $e){
//Nothing
}
而且我仍然抛出“在表中找不到记录”的异常。
如何忽略get($id)
中没有给定ID的记录并避免例外?
答案 0 :(得分:0)
$this->MyModel->find('all', ['conditions' => ['id' => $id]])->first();
似乎是最短的代码,不会因元素不存在而产生错误。
另一个问题是,我使用Exception
而不是正确的\Exception
,这就是为什么尽管使用try-catch-block还是引发了错误。
答案 1 :(得分:-1)
为什么不使用if语句?
$id = 0;
$object = [];
if ($id){
$object = $this->MyModel->get($id);
} else{
$object = [];
}