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

السؤال

نشر

لدي الحلقة التكرارية التالية ضمن الصفحة:

@foreach($emails as $email)
      <h1>
        {{ $email->content }}
      </h1>
      <p>
        {{ $email->flag }}
      </p>
@endforeach

ولكن عند تشغيل المشروع يظهر الخطأ التالي:

count(): Argument #1 ($var) must be of type Countable|array

علماً بأنني أحصل على اللائحة المطلوبة ضمن المتحكّم الخاص بذلك:

$emails = $user->emails()->where(['verified' => true]);

 

Recommended Posts

  • 2
نشر

لأن هذا السطر يقوم بإرجاع اوبجكت من نوع Query Builder وليس Array or Collection

$emails = $user->emails()->where(['verified' => true]);

ولكي يكون الناتج array or collection تحتاج إلي استخدام ال get() function وممكن إذا كنت تريد أعمده معينه يمكن أن تعطيها لل get function as array of columns

// تقوم بإرجاع كل الداتا الخاصه باالإيميلات
$emails = $user->emails()->where(['verified' => true])->get();

// لكي تقوم بإرجاع أعمده معينه وليس كل الداتا 
// مثلا id, email فقط
$emails = $user->emails()->where(['verified' => true])->get(['id', 'email']);

 

  • 0
نشر

يمكنك  أيضا إسترجاع array في  الإستعلام وذلك ب إضافة ()toArray  بعد  ()get. 

على الشكل التالي:

<?php
$emails = $user->emails()->where(['verified' => true])->get()->toArray();

بعد ذلك يمكنك إظهار النتائج التالي:

<?php

@foreach($emails as $email)
      <h1>
        {{ $email['content'] }}
      </h1>
      <p>
        {{ $email['flag'] }}
      </p>
@endforeach

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...