كيفية إضافة سمات مخصصة إلى نماذج لارافيل البليغة على التحميل؟ على سبيل المثال ، فكر في وحدة تحكم مثل هذا:
فهرس الوظائف العامة () { $ Sessions = eventsession :: all () ؛ foreach (جلسات $ كـ $ i => $ جلسة) { جلسات $ [$ i]-> متوفرة = $ session-> getAvailivation () ؛ } إرجاع $ جلسات. }
public function index()
{
$sessions = EventSession::all();
foreach ($sessions as $i => $session) {
$sessions[$i]->available = $session->getAvailability();
}
return $sessions;
}
المشكلة
هذا تصميم مقصود لأسباب الأداء. الجدول $ المحمي = 'Sessions' ؛ توافر الوظائف العامة () { إرجاع سمة جديدة ( الحصول على: fn () => $ this-> calculateavailivation () ) ؛ } }
إصدارات laravel calculateavailability () ؛ } }
الخيار 2: تجاوز toarray () method الجدول $ المحمي = 'كتب' ؛ الوظيفة العامة tararray () { $ array = parent :: toarray () ؛ $ array ['apport'] = $ this-> apport ؛ إرجاع $ Array ؛ } وظيفة عامة getupperattribute () { إرجاع strtoupper ($ this-> title) ؛ } }
الخيار 3: حلقة من خلال سمات متحولة
الجدول $ المحمي = 'كتب' ؛ الوظيفة العامة tararray () { $ array = parent :: toarray () ؛ foreach ($ this-> getMutatedAttributes () كمفتاح $) { if (! array_key_exists ($ key ، $ array)) { $ array [$ key] = $ this-> {$ key} ؛ } } إرجاع $ Array ؛ } وظيفة عامة getupperattribute () { إرجاع strtoupper ($ this-> title) ؛ } }تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3