CakePHP忽略表异常中找不到记录

时间:2019-11-05 17:06:42

标签: php exception cakephp cakephp-3.0

在目的上没有ID为0的记录。而我正在

$id = 0;
try { 
  $object = $this->MyModel->get($id); 
} catch(Exception $e){
  //Nothing
}

而且我仍然抛出“在表中找不到记录”的异常。

如何忽略get($id)中没有给定ID的记录并避免例外?

2 个答案:

答案 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 = [];
}