检查模型是否保存
save()会返回一个布尔值,保存或 不 保存。因此,您可以执行以下操作:
$saved = $myModel->save();if(!$saved){ App::abort(500, 'Error');}或直接保存在if中:
if(!$myModel->save()){ App::abort(500, 'Error');}请注意,
save()像您的示例一样,连续两次调用没有意义。顺便说一句,许多使模型无法保存的错误或问题总会引发异常。
检查查询是否返回结果
first()``null当找不到记录时将返回,以便您的检查有效。但是,您也可以使用替代方法
firstOrFail(),
ModelNotFoundException当什么都没有发现时,它将自动引发:
$UserProduct = Product::where('seller_id', '=', $userId)->firstOrFail();(
find()和都一样
findOrFail())
检查查询是否执行
不幸的是,
create这并不容易。来源:
public static function create(array $attributes){ $model = new static($attributes); $model->save(); return $model;}如您所见,它将使用创建一个新的模型实例,
$attributes然后调用
save()。现在,如果
save()在哪里返回true,您将不会知道,因为无论如何都会得到一个模型实例。例如,您可以做的是检查模型ID(因为只有在保存记录并返回新创建的ID之后才可用)
if(!$newUser->id){ App::abort(500, 'Some Error');}


