شرح صفوف ومحتوى الفقرة
تتيح لك المسترجعات والمعدلات تنسيق قيم حقول نموذج Eloquent عند قراءتها أو معالجتها قبل كتابتها في قاعدة البيانات. يدمج Laravel الحديث العمليتين معاً في دالة محمية واحدة تعيد كائناً من Attribute::make يستقبل دالتي get و set بالمعاملات المسماة.
- دالة القراءة (Accessor get): تنسق قيمة الحقل أو تحسبها ديناميكياً في كل مرة تُقرأ فيها الخاصية من الكائن.
- دالة التعديل (Mutator set): تطبع أو تنظف القيمة المدخلة قبل تخزينها في مصفوفة خصائص النموذج الداخلية.
- تسمية الدالة (camelCase Naming): الدالة المسماة firstName ترتبط تلقائياً بالعمود first_name المكتوب بشرطة سفلية.
PHP
use Illuminate\Database\Eloquent\Casts\Attribute;
protected function title(): Attribute
{
return Attribute::make(
get: fn (string $val) => ucfirst($val),
set: fn (string $val) => strtolower($val),
);
}