شرح صفوف ومحتوى الفقرة
كثيراً ما تحتاج للبحث عن سجل بحقل فريد كالمعرف النصي وإنشائه فقط إن لم يكن موجوداً، أو تحديثه إن وجد. تعيد دالة firstOrCreate السجل الموجود أو تنشئ سجلاً جديداً، بينما تقوم دالة updateOrCreate بتحديث السجل المطابق أو إدراج سجل جديد في خطوة واحدة أنيقة.
- ابحث أو أنشئ (firstOrCreate): البحث بمعاملات المصفوفة الأولى، وعند غياب السجل يدمج المصفوفتين وينشئه فوراً.
- حدث أو أنشئ (updateOrCreate): تحديث السجل المطابق بقيم المصفوفة الثانية أو إنشاؤه من جديد إن لم يوجد.
- ابحث أو جهز (firstOrNew): إرجاع السجل الموجود أو تجهيز كائن جديد في الذاكرة دون حفظه حتى تستدعي save.
PHP
$flight = Flight::firstOrCreate(
['number' => 'MS-200'],
['name' => 'Luxor Shuttle', 'origin' => 'CAI']
);
$flight = Flight::updateOrCreate(
['number' => 'MS-200'],
['destination' => 'LXR']
);