初歩的なことなのですが、どうしてもうまくいかず、ご教授頂けると幸いです。
下記のようにget()
でデータを取り出す際に、
$idが存在しなければ例外(Cake\Datasource\Exception\RecordNotFoundException)
が発生します。
$userdata = $this->Users->get($id);
ドキュメントにもある通り、このとき発生する例外をキャッチして、存在しない場合は何もせず、次の処理へ移りたいです。
存在する$idを渡した場合は問題なく動作します。
(シェルで実行しています。)
php
1namespace App\Shell; 2 3use Cake\Console\Shell; 4use Cake\Datasource\Exception\RecordNotFoundException; 5 6class ExampleShell extends Shell 7{ 8 public function initialize() 9 { 10 parent::initialize(); 11 $this->loadModel('Users'); 12 } 13 14 public function main() 15 { 16 $id = 10; 17 try { 18 $userdata = $this->Users->get($id); 19 } catch (Exception $e) { 20 $this->out('存在しません。'); 21 } 22}
エラー内容
Exception: Record not found in table "users" in [/home/hoge/cakephp/vendor/cakephp/cakephp/src/Datasource/QueryTrait.php, line 419]
Error: [Cake\Datasource\Exception\RecordNotFoundException] Record not found in table "users" Stack Trace: ~~~~~~~~~~~~~~~~~~~~~~
何卒よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/12 05:33
2016/12/12 05:42
2016/12/13 02:27
2016/12/19 11:11