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

السؤال

نشر

لدي جدول اسمه 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. (…)

 

Recommended Posts

  • 0
نشر

عند استخدام الدالة 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 }}

 

  • 0
نشر

يمكنك استخدام 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

 

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

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

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

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

  • إعلانات

  • تابعنا على



×
×
  • أضف...