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

السؤال

نشر (معدل)
//التابع موجود في مودل الابن
public function FaNa()
    {
        return $this->belongsTo(Faculty::class, 'Faculty_ID_FK');
    }
 ///في متحكم الابن اقوم ب استدعائه
$post = Event::find(8)->FaNa->Faculty_Name;

احتاج الى استبدال الرقم 8 ب متحول يقوم ب ارجاع جميع الكليات المثال السابق فقط يرجع كلية واحدة وهي 8  في الصورة المرفقة يتم توضيح المشكلة

ff.png

تم التعديل في بواسطة Osama Kha

Recommended Posts

  • 0
نشر

استخدم الدالة with في الاستعلام لجلب جميع الأحداث مع علاقتها بالكليات، ثم استخدام حلقة foreach للحصول على اسم الكلية لكل حدث.

مثال:

$events = Event::with('FaNa')->get();

foreach ($events as $event) {
    $facultyName = $event->FaNa->Faculty_Name;
    // القيام بالعمليات المطلوبة باستخدام اسم الكلية
}

ستحصل على مصفوفة $events تحتوي على جميع الأحداث وعلاقتها بالكليات، وستتمكن من الوصول إلى اسم الكلية لكل حدث باستخدام $event->FaNa->Faculty_Name.

  • 0
نشر
بتاريخ 1 ساعة قال Mustafa Suleiman:

استخدم الدالة with في الاستعلام لجلب جميع الأحداث مع علاقتها بالكليات، ثم استخدام حلقة foreach للحصول على اسم الكلية لكل حدث.

مثال:

$events = Event::with('FaNa')->get();

foreach ($events as $event) {
    $facultyName = $event->FaNa->Faculty_Name;
    // القيام بالعمليات المطلوبة باستخدام اسم الكلية
}

ستحصل على مصفوفة $events تحتوي على جميع الأحداث وعلاقتها بالكليات، وستتمكن من الوصول إلى اسم الكلية لكل حدث باستخدام $event->FaNa->Faculty_Name.

في هذه الحالة يقوم بعمل جداء ديكارتي ويكرر كل الاحداث عند كل الكليات ف عند طباعة $facultyName يقوم بوضع كل حدث مع كل الكليات

  • 0
نشر

من الصورة المرفقة يمكن ملاحظة أن الكود المستخدم يستخدم دالة find للعثور على حدث واحد فقط من نموذج Event بناءً على معرف الحدث. للحصول على جميع الكليات التي تنتمي إلى حدث معين ، يمكن استخدام دالة where للعثور على الأحداث الخاصة بالحدث المطلوب ، ثم استخدام حلقة foreach للحصول على جميع الكليات المرتبطة بهذه الأحداث.

على سبيل المثال ، يمكن استخدام الكود التالي للحصول على جميع الكليات المرتبطة بحدث معين بناءً على معرف الحدث:

$event_id = 8; // قم بتعيين هذا المتغير بالقيمة المطلوبة
$events = Event::where('id', $event_id)->get();

foreach ($events as $event) {
    $faculties = $event->FaNa;
    foreach ($faculties as $faculty) {
        $faculty_name = $faculty->Faculty_Name;
        // استخدم $faculty_name كما تحتاج
    }
}

يتم استخدام دالة where للعثور على الحدث الذي يتطابق مع معرف الحدث المطلوب ، ثم يتم استخدام دالة get لاسترداد جميع الأحداث التي تتطابق مع هذا الشرط. بعد ذلك ، يتم استخدام حلقة foreach للحصول على جميع الكليات المرتبطة بكل حدث ، وتخزين اسم كل كلية في متغير faculty_name للاستخدام فيما بعد.

  • 0
نشر
بتاريخ 11 ساعة قال عبدالباسط ابراهيم:

من الصورة المرفقة يمكن ملاحظة أن الكود المستخدم يستخدم دالة find للعثور على حدث واحد فقط من نموذج Event بناءً على معرف الحدث. للحصول على جميع الكليات التي تنتمي إلى حدث معين ، يمكن استخدام دالة where للعثور على الأحداث الخاصة بالحدث المطلوب ، ثم استخدام حلقة foreach للحصول على جميع الكليات المرتبطة بهذه الأحداث.

على سبيل المثال ، يمكن استخدام الكود التالي للحصول على جميع الكليات المرتبطة بحدث معين بناءً على معرف الحدث:

$event_id = 8; // قم بتعيين هذا المتغير بالقيمة المطلوبة
$events = Event::where('id', $event_id)->get();

foreach ($events as $event) {
    $faculties = $event->FaNa;
    foreach ($faculties as $faculty) {
        $faculty_name = $faculty->Faculty_Name;
        // استخدم $faculty_name كما تحتاج
    }
}

يتم استخدام دالة where للعثور على الحدث الذي يتطابق مع معرف الحدث المطلوب ، ثم يتم استخدام دالة get لاسترداد جميع الأحداث التي تتطابق مع هذا الشرط. بعد ذلك ، يتم استخدام حلقة foreach للحصول على جميع الكليات المرتبطة بكل حدث ، وتخزين اسم كل كلية في متغير faculty_name للاستخدام فيما بعد.

 @foreach ($post as $event)
	 <td> {{ $faculties = $event->FaNa }}</td>
		@foreach ($faculties as $item)
			<td> {{ $item->Faculty_Name }}</td>
		@endforeach
 @endforeach


////
 $post = Event::where('Faculty_ID_FK', 3)->get();

يظهر رسالة الخطأ التالية

Attempt to read property "Faculty_Name" on bool

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...