错误使用时 - >分页()与Laravel(Error when using ->pagina

2019-10-20 14:27发布

所以,我有我的论坛主题此控制器。 该主题有很多文章和帖子属于主题。

class Topic 
{
    public function posts()
    {
        return $this->hasMany('Post');
    }
}

class Post 
{
    public function topic() 
    {
        return $this->belongsTo('Topic');
    }
}

要获得有关主题和所有与之相关的职位信息,我这样做:

$query = Topic::where('id', $id)->with('posts');

但每一次我尝试添加:

$query = $query->paginate(15)

我用$topic->title ,我得到:

Undefined property: Illuminate\Pagination\Paginator::$title

任何想法? 谢谢。

编辑:哦,如果我用->get()来代替->paginate()我没有错误。

Answer 1:

paginate(15)调用返回一个Paginator对象,拿着许多Topic项目。 如果你想获得title ,这些项目中的一个领域,你需要让他们的一个第一。 例如,您可以通过这样做:

$query->first()->title;

更有可能的是,你会通过的结果回路,并使用它们那样:

foreach($query as $key => $value)
{
    // do something here, $value contains a Topic object.
    $name = $value->name;
}


文章来源: Error when using ->paginate() with Laravel