【问题标题】:Post Slug does not showPost Slug 不显示
【发布时间】: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


    【解决方案1】:

    我浏览了 github,然后发现错误出在我在控制器中使用的 get() 中。因为我只想要一个值,所以我必须使用 first() 来代替。

    $post = Post::whereSlug($slug)->first();
    

    【讨论】:

      【解决方案2】:

      据我所知,compact 它返回一个数组,从你的错误来看,很明显你正试图从数组中取出对象。

      在你的视图中试试这个

      {{ $post['title'] }}

      检查你是否获得了价值......

      【讨论】:

      • 似乎不是问题,因为我收到此错误:未定义索引:标题(视图:C:\xampp\htdocs\blog\resources\views\post.blade.php)
      • 只是提醒一下,当我使用 id 时它正在工作......只有在尝试使用 sluggable 之后它才开始出现错误
      • 检查 {{ $post->slug }},它会给你标题
      • "此集合实例上不存在属性 [slug]。(查看:C:\xampp\htdocs\blog\resources\views\post.blade.php)"
      猜你喜欢
      • 2016-06-14
      • 1970-01-01
      • 2021-09-21
      • 2015-01-17
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 2014-02-26
      • 2016-02-24
      相关资源
      最近更新 更多