タイトルはほとんど自明です。 Eloquentには次のメソッドがあります
updateOrCreate()
ここに記載されています: https://laravel.com/docs/5.5/eloquent#other-creation-methods
場合によっては、これは本当に便利です。ただし、updateOrCreate()
を実行した後、更新/作成されたオブジェクトまたはその主キーまたはそのIDのいずれかが必要です。
もちろん、MyModel::where(...)->first()
を実行して、それらすべてのデータを再度提供することもできますが、これは不器用で、費用のかかる要求になる可能性があります。
ただし、updateOrCreate()
はtrueまたはfalseのみを返します。
何か案は?
このメソッドは、作成または更新されたオブジェクトのIDを返すため、次のようにします。
$object = Model::updateOrCreate(['name' => 'John'], ['age' => 25]);
$id = $object->id;