Hanan Fahad2 نشر 28 يونيو 2021 أرسل تقرير نشر 28 يونيو 2021 (معدل) <select class="form-control select2" name="permissions[]" id="permissions" multiple required> @foreach($permissions as $id => $permissions) <option value="{{ $id }}" {{ in_array($id, old('permissions', [])) ? 'selected' : '' }}>{{ $permissions }}</option> @endforeach </select> ابغا شرح الكود هذا مافهمت بالطلب ايش ينرسل تم التعديل في 28 يونيو 2021 بواسطة Wael Aljamal توضيح السؤال 1 اقتباس
0 Wael Aljamal نشر 28 يونيو 2021 أرسل تقرير نشر 28 يونيو 2021 لدينا قائمة اختيار من متعدد Select يتم توليد الخيارات لها Options بشكل ديناميكي من خلال حلقة. تقبل هذه عدد من القيم (ليس فقط قيمة واحدة) لاحظي الخاصية multiple التي تسمح باختيار أكثر من عنصر (ننقر على ctrl مع زر الفأرة على عدة عناصر لنحددهم). وليتم إرسال مصفوفة للمخدم بالاختيارات على الخاصية name أن ترسل مصفوفة: "permissions[]" ^^^^ بالنسبة للحلقة، هي تدور على مصفوفة ترابطية permissions$ لتأخذ المفتاح key بشكل id والقيمة value بشكل permissions. لكل عنصر من المصوفوفة سيتم توليد حقل اختيار option يأخذ كقيمة المعرف الخاص id. يتم تحديد الخاصية selected للخيار الحالي، إن تم تحقيق الشرط وهذا الشرط مكتوب بشكل المعامل الثلاثي ternary operatoe: حيث يتم البحث عن id ضمن المصفوفة permissions الموجودة ضمن الجلسة session (البحث تم باستخدام in_array) in_array($id, old('permissions', [])) ? 'selected' : '' وبناءاً على تواجد id ضمن المصفوفة نضيف الخاصية selected ليتم تحديد هذا الخيار بشكل ديناميكي اقتباس
0 بلال زيادة نشر 28 يونيو 2021 أرسل تقرير نشر 28 يونيو 2021 هنا لدينا وسم select لأختيار أكثر من خيار نريد تخزينه, <select class="form-control select2" name="permissions[]" id="permissions" multiple required> </select> عرفنا ذلك عنا طريقة إعطاء الوسم select خاصية multiple, أي يعني في هذا الكود نود إعطاء المستخدم أكثر من صلاحية محددة نقوم باختيارها , يعني هذا اننا نريد إضافة مصفوفة من الخيارات فتم وضع [] بجانب permissions , name="permissions[]" ثم قمنا بعمل loop على جميع الصلاحيات المخزنة لدينا في قاعدة البيانات و عرضها داخل قائمة select باستخدام وسم option مع وضع id كل صلاحية في الخاصية value للوسم option , @foreach($permissions as $id => $permissions) <option value="{{ $id }}" {{ in_array($id, old('permissions', [])) ? 'selected' : '' }}>{{ $permissions }}</option> @endforeach ثم قمنا بالتحقق عبر دالة in_array هل يوجد id الصلاحية في المصفوفة permissions , إذا كان يوجد نقوم بتحديد هذه الصلاحية من ضمن قائمة الصلاحيات التي يتم عرضها للمستخدم, {{ in_array($id, old('permissions', [])) ? 'selected' : '' }} يمكنك مراجعة وسم select أولاً لتفهم إلية عمل الكود كاملاً من هنا اقتباس
0 Hanan Fahad2 نشر 28 يونيو 2021 الكاتب أرسل تقرير نشر 28 يونيو 2021 $role = Role::create($request->all()); $role->permissions()->sync($request->input('permissions', [])); $role = Role::create($request->all()); هنا انشاء صلاحيات المرسلة صح $role->permissions()->sync($request->input('permissions', [])); مافهمت السطر هذا انا ارسلت المصفوفة بالطلب الي كتبته بالكود لاكن ايش فكرة هذا هل permissions موجوده لابد في model ولا كيف فكرة هذا الكود اقتباس
السؤال
Hanan Fahad2
توضيح السؤال
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.