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

مصفوفة الكائنات التي تحتوي على الخاصية pivot laravel

السؤال

السلام عليكم 

أرجوا إخباري عن الآلية التي تتم بها جلب مصفوفة الكائنات وطبيعتها  بحيث انني مثلا  لما قوم بتنفيد الشيفرة يتم تكرار هل معناه كل الحلقات تنفذ الشرط == 1 ولماذا تأتي مصفوفة اصلا لماذا لانستخدمها بشكل مباشر ؟

                              @foreach(Auth::user()->servicesProccess as $service)
                          
                              @if ( $service->pivot->state == 1)
                                <li class="nav-item">
                                  <a  class="nav-link" href="{{ route('authors.list') }}">إدارة طلبي</a>
                                </li>
                              @endif
                            @endforeach

قمت بالتالي ظاهرييا تم حل المشكلة ولكن هل يجدي ؟

                              @if ( Auth::user()->servicesProccess[0]->pivot->state == 1)
                                <li class="nav-item">
                                  <a  class="nav-link" href="{{ route('authors.list') }}">إدارة طلبي</a>
                                </li>
                              @endif

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1
بتاريخ 1 دقيقة مضت قال Brahim Semmani:

سؤالي كان فقط للإستزادة بخصوص الموضوع و هو أنني لم أفهم لماذا تأتي على شكل مصفوفة لماذا لانخل للقيمة بطريقة مباشرة و هل ماقمت به سليم منطقيا لأننه إشتغل بشكل عادي وشكرا لكم  

 

نعم يمكنك وضع index محدد لامشكلة، ولكن في حال المرور على عدد كبير من العناصر نفضل الحلقة.

هل حاولت وضع 1 و 2 والتجريب وماذا يظهر؟ 

يمكنك في العلاقة استخدام dd لطباعة تفاصيل الكائن المعاد و معرفة بنيته.

وهل جربت وضع أقواس في حال استخدام الحلقة ل ()servicesProccess

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

هل قمت بتطبيق الدالة get على ماتعيده العلاقة؟ ليتم إعادة مصفوفة

return $this->belongsToMany(Service::class)
			->withPivot('Quantity' , 'state')
			->wherePivot('state' , 0)
		->get();

ومن ثم جرب الحلقة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

السلام عليكم 

شكرا على ردك أستاذ ولكن لست هذا ما أعنيه ربما لم أشرح بما فيه الكفاية المعذرة  ,عند تنفيذي للشيفرة التالية 

                              @foreach(Auth::user()->servicesProccess as $service)
                          
                              @if ( $service->pivot->state == 1)
                                <li class="nav-item">
                                  <a  class="nav-link" href="{{ route('authors.list') }}">إدارة طلبي</a>
                                </li>
                              @endif
                            @endforeach

هي بالفعل تعيد مصفوفة وعليه يتم تكرار الرابط في navbar مرتين , 

عالجتها بهذه الطريقة :

                              @if ( Auth::user()->servicesProccess[0]->pivot->state == 1)
                                <li class="nav-item">
                                  <a  class="nav-link" href="{{ route('authors.list') }}">إدارة طلبي</a>
                                </li>
                              @endif

لاحظ أنني إخترت أول عنصر من المصفوفة و إستغنيت عن الحلقة التكرارية , بهذا حل المشكل وظهر الرابط في navbar من غير تكرار , سؤالي كان فقط للإستزادة بخصوص الموضوع و هو أنني لم أفهم لماذا تأتي على شكل مصفوفة لماذا لانخل للقيمة بطريقة مباشرة و هل ماقمت به سليم منطقيا لأننه إشتغل بشكل عادي وشكرا لكم  

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...