Laravel什么异常或错误update()在失败时返回

时间:2018-05-02 10:57:42

标签: laravel

到现在为止,我曾经写过这样的更新查询:

$flight = App\Flight::where('id', $id)->get();
$flight->name = 'New Flight Name';
$flight->save();

但是,如果我理解正确,这将做2个查询。一个选择查询然后一个更新查询。

所以我决定使用laravels update()以便只有1个查询。

例如:

$flight = App\Flight::where('id', $id)
->update(['name' => 'New Flight Name']);

但是,我如何检查$ flight是否找不到任何基于上述ID的内容,或者$flight更新是否失败?

1 个答案:

答案 0 :(得分:0)

您可以使用firstOrFail()功能

$flight = App\Flight::where('id', $id)
         ->firstOrFail()
         ->update(['name' => 'New Flight Name']);

或做一个简单的检查

$flight = App\Flight::where('id', $id)->first();

if($flight) {
   $flight->update(['name' => 'New Flight Name']);
}