لارافيل, Model / 2024-03-04

Accessories & Mutators في لارافيل

Accessories & Mutators في لارافيل

2024-03-04 وقت القراءه : 15 دقائق

ببعض الأحيان نحتاج للتعديل على البيانات التي تأتي من الحقول قبل إدخالها إلى قاعدة البيانات، وببعض الأحيان نحتاج للتعديل على البيانات التي تأتي من قاعدة البيانات قبل عرضها.

هنا نحتاج لمعرفة المفهومين Accessories & Mutators.

Accessories: هو التعديل على البيانات التي تأتي من قاعدة البيانات قبل عرضها.

مثلا لفرض أن لدينا الجدول كما بالصوره أدنا وهو مرتبط بالموديل Student ونحن نريد أن نعرض الإسم الكامل في في عمود وليس الإسم الأول في عمود والإسم الثاني في عمود أخر 

للقيام بذلك بداخل Student Model نستخدم Accessories.

class Student extends Model{
     public function getFullNameAttribute()
     {
         return $this->fname . ' ' . $this->lname;
     }
 }

وفي صفحة blade.

<td>{{ $student->full_name }}</td>

طريقة كتابة Accessories يجب أن تبدأ بكلمة get ثم إسم الدالة ويجب أن تكون CamelCase كما أعلاه (FullName) ومن ثم Attribbute.

Mutators: لفرض أن لدينا هذا الفورم لإدخال البيانات لقاعدة البيانات، لكن نريد أن يتم الإدخال بشكل CamelCase.

للقيام بذلك نقوم بكتابة Mutator في Student Model.

public function setFnameAttribute($value){
     $this->attributes['fname'] = ucfirst($value);
 }

كما نلاحظ أعلاه أن Mutators يجب أن تبدأ بـ set ثم إسم الحقل ثم attribute.

لعمل ذلك مع الإسم الأخير.

public function setLnameAttribute($value){
     $this->attributes['lname'] = ucfirst($value);
 }

 



التعليقات
جابر الشيمي
منذ سنتين

ما شاء الله ربنا يبارك لك

زائر
منذ سنتين

اعتقد ممكن نعمل بيها عمليات كتير ع البيانات من تجميع و فرز و غيرها

moemen
منذ سنتين

ممتاز جزاك الله خير اتمنى ان حضرتك تكمل شرح بنفس هذه الطريقة للحجات الادفانس

Mohamed said
منذ سنتين

لو عايز اعمل Return html Ex: return \'ok ايه الحل

زائر
منذ سنتين

دهب أمحر

NADER CHARGUI
منذ سنتين

good I like this content

إضافة تعليق
Loading...