相关疑难解决方法(0)

此集合实例上不存在属性[title]

我正在关注Laracasts的视频:基本模型/控制器/查看工作流程.

我有一张表保存联系信息.

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
Run Code Online (Sandbox Code Playgroud)

我试图使用控制器文件中的以下代码将数据传递给视图:

public function index()
{
    $about = Page::where('page', 'about-me')->get(); //id = 3

    return view('about', compact('about'));
}
Run Code Online (Sandbox Code Playgroud)

当我尝试显示如下所示的代码时,

@section('title')
    {{$about->title}}
@stop

@section('content')
    {!! $about->content !!}
@stop
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

此集合实例上不存在属性[title].(查看:E:\ laragon\www \newsite\resources\views\about.blade.php)

但是如果我在控制器文件中更改检索方法,它就可以工作.

public function index()
{
    $about = Page::find(3);

    return view('about', compact('about'));
}
Run Code Online (Sandbox Code Playgroud)

当我dd($about)在第一个case(where()->get())中使用时,数据由数组封装.在第二种情况(find(3))中,它按预期显示数据.

我究竟做错了什么?

php laravel laravel-eloquent

67
推荐指数
3
解决办法
17万
查看次数

标签 统计

laravel ×1

laravel-eloquent ×1

php ×1