当前位置: 首页 > 面试题库 >

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

王骏
2023-03-14
问题内容

我正在关注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

我正在尝试使用控制器文件中的以下代码传递数据以进行查看:

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'));
}

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

我究竟做错了什么?


问题答案:

使用时,get()您会得到一个 收藏 。在这种情况下,您需要对其进行迭代以获取属性:

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

或者,您也可以通过索引获得对象之一:

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

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

{{ $collection->first() }}

当您使用find()first()获得 对象时 ,可以使用以下简单方法获取属性:

{{ $object->title }}


 类似资料:
  • 使用方法时 此集合实例上不存在属性[getAddress]。 使用方法后 此集合实例上不存在属性[city]。

  • 我无法通过下面的示例了解如何快速加载。这是我当前的数据库,有两个表,Quotes:存储一般信息的地方,QuotesDetails:存储Quotes中每个Quote的详细信息的地方。 在模型中,我有以下结构: 引用。php QuotesDetails.php以下型号: 我使用了hasMany(引号中),因为每个引号可以有/显示3-4个quotesdetails。 在我的控制器中,我使用以下查询: 在

  • 我使用的是完全修补过的Visual Studio 2013。我正在尝试使用JQuery、JQueryUI和JSRender。我也在尝试使用打字。在ts文件中,我得到如下错误: 类型“{}”上不存在属性“fade div”。

  • 我试图在登录过程后获得连接的用户模型, 首先,在CanActivate guard检查了带有用户JSON对象的本地存储并发现该对象为空之后,用户将重定向到“/login”URL 然后用户登录并重定向回根URL“/”,在连接过程中我使用AuthService,它将从服务器返回的用户对象保存在用户模型中 这是我的守卫:

  • 我试图在Laravel建立一个电子商务网站,但我得到的错误是“在雄辩的构建器实例上不存在异常属性[product_quantity]当我试图更新数据库中的产品数量时。 基本上,我想做的是,如果一个用户试图添加一个已经存在于他们购物车中的产品,数量会增加1,产品的总价格也会相应地改变。为了实现这一点,我首先用 “StoreCart”是用于存储购物车数据的型号名称。然后在查找查询之后,我所做的是 当我

  • 升级到Angular 6.0和Rxjs到6.0后,我收到以下编译错误: