php - 尝试/捕获不适用于 Laravel 5.4

标签 php laravel-5 try-catch laravel-5.4

我知道有很多关于这个问题的答案,但没有一个能真正帮助我。

// update name

Route::put('/profile/update', function(Request $request){
$name = $request->input('name');

   try{
         echo DB::table('users')->where('id',Auth::id())->update(['name' => $name]);
      }
   catch(\Exception $e){
     // do task when error
      echo $e->get_message();
   }
});

我也尝试过删除方法,但这也不起作用,请您弄清楚发生了什么。
谢谢。

最佳答案

从您的代码看来,该代码永远不会遇到实际上与 Laravel 无关的问题。您的问题是 SQL 问题。

您正在尝试更新记录并且更新不存在的行在 SQL 中永远不会失败。所以我建议通过检查结果值并替换 来手动处理这种情况,尝试 捕获 如果否则

顺便说一句,@Learner 关于 get_message() 100% 正确,它不在 laravel 中,因为我知道将来用 getMessage() 替换它

关于php - 尝试/捕获不适用于 Laravel 5.4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43316253/

相关文章:

php - 在VerifyCsrfMiddleware.php第16行laravel 5中出现TokenMismatchException

php - 连接两个表列

php - 多行插入插入 2 行额外的 0

javascript - 如何在数据表的列中创建状态 "active"或 "expired"?

AngularJS 和 Laravel - CORS

powershell - 在powershell中捕获网络使用异常

php - Laravel CRON 或事件进程通过长轮询响应 api 请求 - 如何重新激活 session

Laravel 和 ngrok : url domain is not correct for routes and assets

swift - 在 swift3 中处理 URL 的 Try Catch

c++ - close() 抛出什么异常类型?