اذهب إلى المحتوى

السؤال

نشر (معدل)
<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>

ابغا شرح الكود هذا مافهمت بالطلب ايش ينرسل 

 

تم التعديل في بواسطة Wael Aljamal
توضيح السؤال

Recommended Posts

  • 0
نشر

لدينا قائمة اختيار من متعدد 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
نشر

هنا لدينا وسم 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
نشر
$role = Role::create($request->all());
$role->permissions()->sync($request->input('permissions', []));


$role = Role::create($request->all());
هنا انشاء صلاحيات المرسلة صح 


$role->permissions()->sync($request->input('permissions', []));
مافهمت السطر هذا انا ارسلت المصفوفة بالطلب الي كتبته بالكود لاكن ايش فكرة هذا هل 

permissions
موجوده لابد في model 
ولا كيف فكرة هذا الكود 

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...