我正在关注Laracasts的视频:Basic Model/Controller/View Workflow.

我有一张桌子,上面有联系方式.

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

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

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

    return view('about', compact('about'));
}

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

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

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

我收到的错误是:

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

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

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

    return view('about', compact('about'));
}

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

我做错了什么?

推荐答案

当你使用get()时,你会得到collection.在这种情况下,需要对其进行迭代以获取属性:

@foreach ($collection as $object)
    {{ $object->title }}
@endforeach

或者你可以通过索引得到一个对象:

{{ $collection[0]->title }}

或者从集合中获取第一个对象:

{{ $collection->first() }}

当你使用find()first()时,你会得到object,因此你可以通过简单的:

{{ $object->title }}

Php相关问答推荐

dockerized laravel服务器拒绝POST请求

在WooCommerce产品档案页面中显示产品销售百分比

一列必须指定多个变量的Laravel查询

向在添加到购物车上动态创建的WooCommerce产品添加发货类别

如何使用php-amqplib连接到ActiveMQ Classic Docker镜像

在内部API请求之后,在响应客户端之前,是否忘记了PHP中的Header()?

获取要删除的图像的公共ID

WooCommerce我的帐户:从帖子作者处获取自定义帖子类型帖子ID

在Laravel中为表添加前缀,以将它们逻辑地分组

在WordPress中从CPT中删除插件

根据WooCommerce中的自定义用户元数据值更改用户角色

PHP 数组中第一级 node 到 XML 的唯一名称

Mac 上安装 php 时出现 Homebrew 错误

PHP向API发送curl请求

htaccess Rewriterule 无法以任何方式工作

设置GA4 PHP API的setSubject以允许访问所有管理员账户属性

在这个 Laravel 应用中,如何仅显示已批准的 comments 回复?

如何在php中获取大于50的年龄

Symfony $this->getUser() 没有学说关联(OneToMany)

我如何解析 Rust 中的原始 http 请求?