【发布时间】:2020-02-12 20:00:10
【问题描述】:
我正在关注 laracast 并且已经达到了我无法弄清楚的部分。尝试显示标题 {{$blog->title}} 时出现以下错误:
试图获取非对象的属性“标题”(查看:/Users/***/Desktop/DigitalCulture/DG/resources/views/blogs/show.blade.php)”
数据库:
public function up()
{
Schema::create('blogs', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('title');
$table->text('excerpt');
$table->text('body');
$table->timestamps();
});
}
路线:
Route::get('/', function () {
return view('welcome');
});
Route::get('/about', function () {
$blogs = DB::table('blogs')->take(3)->latest()->get();
return view('/about', [
'blogs' => $blogs
]);
});
Route::get('/blogs/{blog}', 'BlogsController@show');
控制器
<?php
namespace App\Http\Controllers;
use App\blog;
use Illuminate\Http\Request;
class BlogsController extends Controller
{
public function show($id)
{
$blog = Blog::find($id);
if( is_null($blog) ){
dd( 'There is no post with this id='.$id);
}
return view('blogs.show')->with('blog', $blog);
}
}
Show.blade
@extends ('layout')
@section ('content')
<div id="wrapper">
<div id="page" class="container">
<div id="content">
<div class="title">
<h2> {{$blog->title}} </h2>
</div>
<p><img src="/images/banner.jpg" alt="" class="image image-full" /> </p>
<p>
{{$blog->body}}
</p>
</div>
</div>
</div>
@endsection
博客 PHP
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
//
}
数据库
【问题讨论】:
-
你能添加你的博客模型类吗?
-
当然...在原帖中添加了它
-
你确定我们的文件名是Blog.php,大写为B
-
是的,它的 Blog.php 带有大写 B。