【问题标题】:Error when using ->paginate() with Laravel将 ->paginate() 与 Laravel 一起使用时出错
【发布时间】:2014-09-21 13:14:04
【问题描述】:

所以我的论坛上有这个主题控制器。 Topic 有很多 Posts,Post 属于 Topic。

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() 我没有错误。

【问题讨论】:

    标签: php laravel laravel-4 pagination


    【解决方案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;
    }
    

    【讨论】:

    • 谢谢。我没明白:)。
    猜你喜欢
    • 2018-12-26
    • 1970-01-01
    • 2016-11-05
    • 2021-12-06
    • 2015-07-15
    • 2016-05-04
    • 2014-02-10
    • 2016-04-03
    • 2012-10-10
    相关资源
    最近更新 更多