Laravel 5.4 ORM 返回的 model 实例无法调用 addQuery 方法

在 5.3 版本中,我有这段代码:

tag = Tag::where('tag', $tag)->firstOrFail();

        $reverse_direction = (bool) $tag->reverse_direction;

        $posts = Post::where('published_at', '<=', Carbon::now())->whereHas('tags', function ($query) use ($tag) {
           $query->where('id', '=', $tag->id);
        })
            ->where('is_published', 1)
            ->orderBy('published_at', $reverse_direction ? 'asc' : 'desc')
            ->simplePaginate(config('blog.posts_per_page'));
        $posts->addQuery('tag', $tag->tag);

addQuery() 就是在分页结果中给链接加上 tag 参数,但是这段代码在 5.4 版本中报错:Method addQuery does not exist., 追踪了下源码,分页器类都继承了 abstractPaginator 这个抽象类,该方法就在这个类里定义的,为什么 5.4 版本调用报错呢?有点奇怪,又遇见同样问题的么?谢谢!

阅读 2.9k
1 个回答
protected function addQuery($key, $value)

public function appends($key, $value = null)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题