试图获得财产';标题';使用PHP-Laravel实现非对象
我什么都试过了,但总是出错。当我查看URL时,它显示一个整数,它应该显示文章标题。我想问题是存在的,但我不知道如何解决它 这是我的控制器和视图代码:试图获得财产';标题';使用PHP-Laravel实现非对象,php,laravel,Php,Laravel,我什么都试过了,但总是出错。当我查看URL时,它显示一个整数,它应该显示文章标题。我想问题是存在的,但我不知道如何解决它 这是我的控制器和视图代码: public function getSingle($slug) { $post = Post::where('slug', '=', $slug)->first(); return view('oilnotes.single')->withPost($post); } <di
public function getSingle($slug) {
$post = Post::where('slug', '=', $slug)->first();
return view('oilnotes.single')->withPost($post);
}
<div class="row">
<div class="col-md-8 col-md-offset-2">
<h1>{{ $post->title }}</h1>
<p>{{ $post->body }}</p>
</div>
</div>
公共函数getSingle($slug){
$post=post::其中('slug','=',$slug)->first();
返回视图('oilnotes.single')->with post($post);
}
{{$post->title}
{{$post->body}
您可以使用空合并运算符??
(在PHP7中引入)。它用于检查值是否已设置或为null,或者换句话说,如果值存在且不为null,则返回第一个操作数,否则返回第二个操作数
<h1>{{ $post->title ?? 'DEFAULT' }}</h1>
<p>{{ $post->body ?? 'DEFAULT' }}</p>
{{$post->title???'DEFAULT'}
{{$post->body???'DEFAULT'}
您可以使用空合并运算符??
(在PHP7中引入)。它用于检查值是否已设置或为null,或者换句话说,如果值存在且不为null,则返回第一个操作数,否则返回第二个操作数
<h1>{{ $post->title ?? 'DEFAULT' }}</h1>
<p>{{ $post->body ?? 'DEFAULT' }}</p>
{{$post->title???'DEFAULT'}
{{$post->body???'DEFAULT'}
您必须确保$post=post::where('slug','=',$slug)->first()
不是空的,您可以使用dd($post)查看里面的内容代码>。我还建议使用->FirstOrFail()代码>而不是->first()代码>。
->first()返回在数据库中找到的第一条记录。如果不存在匹配模型,则返回null
。
->FirstOrFail()返回在数据库中找到的第一条记录。如果不存在匹配模型,它会抛出404未找到错误您必须确保$post=post::where('slug','=',$slug)->first()
不是空的,您可以使用dd($post)查看里面的内容代码>。我还建议使用->FirstOrFail()代码>而不是->first()代码>。
->first()返回在数据库中找到的第一条记录。如果不存在匹配模型,则返回null
。
->FirstOrFail()返回在数据库中找到的第一条记录。如果不存在匹配模型,则抛出404未找到错误use firstOrFail()。如果没有找到slug的记录,它将重定向到404
public function getSingle($slug) {
$post = Post::where('slug', '=', $slug)->firstOrFail();
return view('oilnotes.single')->withPost($post);
}
使用firstOrFail()。如果没有找到slug的记录,它将重定向到404
public function getSingle($slug) {
$post = Post::where('slug', '=', $slug)->firstOrFail();
return view('oilnotes.single')->withPost($post);
}
您好,您确定$post=post::where('slug','=',$slug)->first()代码>实际返回一个对象,并且您的slug有效吗?你能放置dd($post,$slug)代码>在那一行之后并显示结果?您说过url显示一个整数,但您正在寻找一个slug,您是否有一个slug(而不是id)与该整数匹配的帖子?您好,您确定$post=post::where('slug','=',$slug)->first()代码>实际返回一个对象,并且您的slug有效吗?你能放置dd($post,$slug)代码>在那一行之后显示结果?你说过url显示的是一个整数,但是你在寻找一个slug,你有没有一篇文章中的slug(不是id)与这个整数匹配??