Mohammad Yousef3 نشر 3 أبريل 2021 أرسل تقرير نشر 3 أبريل 2021 لدي جدول اسمه pages الذي يحتوي على 3 حقول id, title, content أقوم بجلب البيانات في المتحكم public function index() { $about = Page::where('page', 'about-me')->get(); //id = 10 return view('about', compact('about')); } وملف view @section('title') {{$about->title}} @stop @section('content') {!! $about->content !!} @stop ولكن تظهر لي هذه الرسالة اقتباس Property [title] does not exist on this collection instance. (…) اقتباس
0 Waleed Alfakiat نشر 3 أبريل 2021 أرسل تقرير نشر 3 أبريل 2021 عند استخدام الدالة get() للحصول على البيانات, يتم ارجاع collection تحتوي كائنات لجميع السجلات التي تم استخراجها من قاعدة البيانات ولقراءة هذه الكائنات نقوم بعمل تكرار للوصول للبيانات, مثال: @foreach ($collection as $object) {{ $object->title }} @endforeach أو الحصول على قيمة عن طريق index محدد هكذا: {{ $collection[0]->title }} أو الحصول على أول كائن: {{ $collection->first()->title }} ولكن عند استعمال find() أو first() Page::find('page', 'about-me'); يتم ارجاع كائن واحد فقط وعندها يمكنك قراءة محتوياته بشكل مباشر {{ $page->title }} 1 اقتباس
0 بلال زيادة نشر 4 أبريل 2021 أرسل تقرير نشر 4 أبريل 2021 يمكنك استخدام first() بهذا الشكل $about = Page::where('page', 'about-me')->first(); ويمكنك جلب البيانات بالأسلوب الذي تتبعه مثل {{ $about->title }} إذا كنت لا تريد تغيير get إلى first فيمكنك جلب البيانات في view بهذه الطريقة {{ $about[0]->title }} او بإستخدام foreach loop مثل @foreach ($about as $ab) {{ $ab->title }} @endforeach اقتباس
السؤال
Mohammad Yousef3
لدي جدول اسمه pages الذي يحتوي على 3 حقول
أقوم بجلب البيانات في المتحكم
وملف view
@section('title') {{$about->title}} @stop @section('content') {!! $about->content !!} @stop
ولكن تظهر لي هذه الرسالة
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.