// ПОГАНО: два запити, зайвий код
$user = User::where('email', 'john@example.com')->first();
if ($user) {
$user->update(['name' => 'John Doe']);
} else {
User::create([
'email' => 'john@example.com',
'name' => 'John Doe'
]);
}
// ДОБРЕ: один метод, один запит
User::updateOrCreate(
['email' => 'john@example.com'],
['name' => 'John Doe', 'verified' => true]
);
// Синхронізація даних з API
$apiUsers = ExternalAPI::getUsers();
foreach ($apiUsers as $apiUser) {
User::updateOrCreate(
['external_id' => $apiUser['id']],
['name' => $apiUser['name'], 'email' => $apiUser['email']]
);
}