モデルが保存されたかどうかを確認する
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');
}