Mahmoud Alrashidi نشر 1 مارس 2021 أرسل تقرير مشاركة نشر 1 مارس 2021 أحاول التخلص من الشروط في الكود التالي: if ($this->searchTerm) { $searchTerm = '%' . $this->searchTerm . '%'; $getSales = Shoppingcart::where('trans_code', 'LIKE', $searchTerm) ->select('trans_code', 'created_at', DB::raw("SUM(sub_total) as total")) ->groupBy('trans_code') ->paginate(10); } else { $getSales = Shoppingcart::with(['user']) ->select('trans_code', 'created_at', DB::raw("SUM(sub_total) as total")) ->groupBy('trans_code') ->paginate(10); } و تقليصه قليلا عن طريق إستخدام when كيف يُمكنني عمل ذلك حاولت لكن لم أستطع. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
1 سمير عبود نشر 1 مارس 2021 أرسل تقرير مشاركة نشر 1 مارس 2021 يُمكنك إستخدام when بالشكل التالي: $getSales = Shoppingcart::when($this->searchTerm, function ($query, $searchTerm) { return $query->where('trans_code', 'LIKE', "%{$searchTerm}%"); }, function ($query) { return $query->with('user'); })->select('trans_code', 'created_at', DB::raw("SUM(sub_total) as total")) ->groupBy('trans_code') ->paginate(10); يُمكنك الإطلاع على توثيق موسوعة حسوب: البنود المشروطة (Conditional Clauses) و ستجد مثال يُشابه لما تريد في هذه الفقرة: يُنفّذ التابع when النطاق المُغلق المحدّد Closure فقط عندما تكون المعاملة الأولى true. في حالة كانت المعاملة الأولى false لن يُنفّذ النطاق المغلق Closure. تستطيع تمرير نطاق مُغلق Closure آخر كثالث معامل للتابع when. سيُنفّذ هذا النطاق المُغلق في حالة كانت المعاملة الأولى false. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
Mahmoud Alrashidi
أحاول التخلص من الشروط في الكود التالي:
و تقليصه قليلا عن طريق إستخدام when كيف يُمكنني عمل ذلك حاولت لكن لم أستطع.
رابط هذا التعليق
شارك على الشبكات الإجتماعية
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.