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

查看:212
本文介绍了php - 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 版本调用报错呢?有点奇怪,又遇见同样问题的么?谢谢!

解决方案

protected function addQuery($key, $value)

public function appends($key, $value = null)

这篇关于php - Laravel 5.4 ORM 返回的 model 实例无法调用 addQuery 方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆