【发布时间】:2018-09-13 07:40:55
【问题描述】:
我使用 post_id 显示我的帖子,我按照当前文档使用 slug 显示我的帖子。当我创建帖子时,我看到数据库中也添加了 slug。 当我单击链接查看帖子时,它会使用 slug 将我带到帖子。但是,除了这个我从未见过的错误,我什么也没显示:
此集合实例上不存在属性 [title]。 (查看:C:\xampp\htdocs\blog\resources\views\post.blade.php)
这是我的帖子模型:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Cviebrock\EloquentSluggable\Sluggable;
class Post extends Model
{
use Sluggable;
public function sluggable()
{
return [
'slug' => [
'source' => 'title'
]
];
}
protected $fillable = ['title', 'content', 'user_id','category_id','photo_id'];
public function category(){
return $this->belongsTo('App\Category');
}
public function user(){
return $this->belongsTo('App\User');
}
public function photo(){
return $this->belongsTo('App\Photo');
}
public function comments(){
return $this->hasMany('App\Comment');
}
}
我的路线:
Route::get('/post/{slug}', ['as'=>'home.post',
uses'=>'AdminPostsController@post']);
AdminPostsController 的 post 函数如下所示:´
public function post($slug){
$post = Post::whereSlug($slug)->get();
// $posts = Post::all();
$categories = Category::all();
return view('post', compact('post','categories'));
}
在我看来是这样的:
<h1>{{$post->title}}</h1>
【问题讨论】:
标签: php slug laravel-5.6