Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在表异常中找不到CakePHP忽略记录_Php_Exception_Cakephp_Cakephp 3.0 - Fatal编程技术网

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

在表异常中找不到CakePHP忽略记录,php,exception,cakephp,cakephp-3.0,Php,Exception,Cakephp,Cakephp 3.0,purpos上没有ID为0的记录。我在做什么 $id = 0; try { $object = $this->MyModel->get($id); } catch(Exception $e){ //Nothing } 我仍然会抛出异常“在表中找不到记录” 我如何忽略,没有具有给定ID的记录,并使用get($ID)避免异常?为什么不使用if语句 $id = 0; $object = []; if ($id){ $object = $this->MyModel-&

purpos上没有ID为0的记录。我在做什么

$id = 0;
try { 
  $object = $this->MyModel->get($id); 
} catch(Exception $e){
  //Nothing
}
我仍然会抛出异常“在表中找不到记录”


我如何忽略,没有具有给定ID的记录,并使用
get($ID)
避免异常?

为什么不使用if语句

$id = 0;
$object = [];
if ($id){
  $object = $this->MyModel->get($id); 
} else{
  $object = [];
}
$this->MyModel->find('all',['conditions'=>['id'=>$id]])->first()
似乎是最短的代码,不会因元素不存在而出错


另一个问题是,我使用了
Exception
而不是正确的
\Exception
,这就是为什么尽管有try-catch块,仍会抛出错误。

这是否回答了您的问题?此外,这里的特定异常是
\Cake\Datasource\exception\RecordNotFoundException
@ndm我也试图捕捉到确切的异常,但没有成功。你读过@Szymon的链接吗?正是这个问题。不,这并不保证另一个id=1231243233不存在。我根本不想出错。