I am following Laracasts' videos: Basic Model/Controller/View Workflow.
I have a table holds contact information.
CREATE TABLE `about` ( `id` int(10) UNSIGNED NOT NULL, `title` varchar(500) COLLATE utf8_unicode_ci NOT NULL, `content` text COLLATE utf8_unicode_ci, ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
I am trying to pass data to view using the following code in the controller file:
public function index() { $about = Page::where('page', 'about-me')->get(); //id = 3 return view('about', compact('about')); }
When I try to show the code as shown below,
@section('title') {{$about->title}} @stop @section('content') {!! $about->content !!} @stop
I get error that says:
Property [title] does not exist on this collection instance. (View: E:\laragon\www\newsite\resources\views\about.blade.php)
But if I change the retrieving method in the controller file, it works.
public function index() { $about = Page::find(3); return view('about', compact('about')); }
When I use dd($about)
in the first case (where()->get()
) the data is encapsulated by an array. In the second case (find(3)
) it displays data as expected.
What am i doing wrong?