Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用activerecord是否有一种简单的方法来获取查询的总计数?_Ruby On Rails_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails 使用activerecord是否有一种简单的方法来获取查询的总计数?

Ruby on rails 使用activerecord是否有一种简单的方法来获取查询的总计数?,ruby-on-rails,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby On Rails 4,Activerecord,我有以下疑问: @jobs = Job.where(publisher_id: params[:publisher_id], status: status).order(order_by => order_dir).offset(start).limit(limit) 我希望能够得到它的结果总数。最简单的方法是: @jobs = Job.where(publisher_id: params[:publisher_id], status: status).count 但是,有没有一种方法

我有以下疑问:

@jobs = Job.where(publisher_id: params[:publisher_id], status: status).order(order_by => order_dir).offset(start).limit(limit)
我希望能够得到它的结果总数。最简单的方法是:

@jobs = Job.where(publisher_id: params[:publisher_id], status: status).count
但是,有没有一种方法可以只在查询中包含全部结果?我知道有卡米纳里宝石(和威尔·帕吉纳特),但必须有一个简单的方法来包括这是回应,不是吗


如果可能的话,我正在寻找一种方法使其成为一个单一的查询。

绝对是的,您可以这样做:

@jobs = Job.where(publisher_id: params[:publisher_id], status: status).select('*, COUNT(*) OVER(PARTITION BY id) AS count')
count = @jobs.first.count

我正在使用它来实现这一点

预期的输出是什么?当我对初始查询思想使用限制时会发生什么?