شرح صفوف ومحتوى الفقرة
في إصداري Laravel 11 و 12، يُعرّف تحويل أنواع الحقول داخل دالة محمية باسم casts في نموذج Eloquent بدلاً من خاصية المصفوفة القديمة. تحول هذه الدالة نصوص وأرقام قاعدة البيانات الخام تلقائياً إلى أنواع PHP غنية مثل القيم المنطقية وتواريخ Carbon والمصفوفات والتعدادات.
- صيغة دالة التحويل (casts Method): تعيد مصفوفة ترابطية تربط اسم العمود بنوع البيانات أو كلاس التحويل المستهدف.
- تحويل المصفوفات (array & json Casts): يحول مصفوفات PHP إلى نص JSON عند الحفظ ويعيد فكها تلقائياً عند القراءة.
- دعم التواريخ والتعدادات (datetime & Enum): يحول النصوص الزمنية إلى كائنات Carbon وقيم الحالة إلى كائنات Enum قياسية.
PHP
protected function casts(): array
{
return [
'is_published' => 'boolean',
'settings' => 'array',
'published_at' => 'datetime',
];
}