Laravel Tip: "wasRecentlyCreated" Model Attribute

Laravel Tip: “wasRecentlyCreated” Model Attribute

Merhabalar,

Bu yazıda Laravel’de pek bilinmeyen bir ipucunu paylaşacağım 🙂

Bildiğiniz gibi Eloquent ile ilgili tablomuza yeni bir satır eklemek istediğimizde ve eğer kayıt etmek istediğimiz değerde bir kayıt varsa yeniden kayıt etmek yerine aynı kaydı döndürmek istediğimizde firstOrCreate kullanıyoruz.

$company = Company::firstOrCreate([
    'name' => 'Freebird Airlines'
]);

Buraya kadar herşey iyi güzel elimizde $company adında bir değişken ve değişkenimizin içerisinde DB’den aldığımız değerimiz var. Alınan değer eğer yeni bir kayıt oluşturularak alınmışsa kullanım senaryonuza bağlı olarak farklı bir işlem yapmak istiyorsanız Modelinizdeki wasRecentlyCreated özelliğini kullanabilirsiniz.

wasRecentlyCreated özelliği Illuminate\Database\Eloquent\Model’de tanımlıdır ve default değeri false’dir. Yeni bir kayıt eklendiğinde ise değeri true olur.

$company = Company::firstOrCreate([
    'name' => 'Freebird Airlines'
]);

if ($company->wasRecentlyCreated) { 
   // Yeni bir şirket oluşturuldu. 
} else { 
   // Şirket DB'de var farklı aksiyonlar al. 
}

Bir sonraki yazılarda görüşmek üzere 🙂