モデルが保存されたかどうかを確認する
save() 保存された、またはされていないブール値を返します 保存しました。したがって、次のいずれかを行うことができます:
$saved = $myModel->save();
if(!$saved){
App::abort(500, 'Error');
}
または、次の場合に直接保存します:
if(!$myModel->save()){
App::abort(500, 'Error');
}
save()を呼び出すことは意味がないことに注意してください あなたの例のように2回続けて。ちなみに、モデルの保存を妨げる多くのエラーや問題は、とにかく例外をスローします...
クエリが結果を返したかどうかを確認する
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');
}