php – 此集合实例上不存在属性[title]
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 此集合实例上不存在属性[title],小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1354字,纯文字阅读大概需要2分钟。
内容图文
我正在关注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
我得到的错误是:
Property [title] does not exist on this collection instance. (View: E:\laragon\www\newsite\resources\views\about.blade.php)
但是如果我在控制器文件中更改检索方法,它就可以工作.
public function index()
{
$about = Page::find(3);
return view('about', compact('about'));
}
当我在第一种情况下使用dd($about)(其中() – > get())时,数据被数组封装.在第二种情况下(find(3)),它按预期显示数据.
我究竟做错了什么?
解决方法:
当你使用get()时,你会得到一个集合.在这种情况下,您需要迭代它以获取属性:
@foreach ($collection as $object)
{{ $object->title }}
@endforeach
或者你可以通过它的索引得到一个对象:
{{ $collection[0]->title }}
或者从集合中获取第一个对象:
{{ $collection->first() }}
当您使用find()或first()时,您将获得一个对象,因此您可以使用简单的方法获取属性:
{{ $object->title }}
内容总结
以上是互联网集市为您收集整理的php – 此集合实例上不存在属性[title]全部内容,希望文章能够帮你解决php – 此集合实例上不存在属性[title]所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。