Comments (3)
Yes, I agree that limit
+ offset
+ count
query returns something unexpected, but it's because that's the way SQL acts.
SELECT COUNT(*) FROM "users"
=> 100
SELECT COUNT(*) FROM "users" LIMIT 10 OFFSET 10
=> 0
Kaminari and AR and Arel just uses this as it is, thus the following query returns 0.
User.limit(10).offset(10).count
If you want this query to return something different, I'm sorry but that's not Kaminari's matter. I think we should improve ActiveRecord or Arel.
You said, you expect count
to return total_count
, but I guess some people might expect the same value with length
rather than total_count
.
Anyway, to work around this ATM, you can use length
or all.count
for the limited list count, and total_count
or except(:offset, :limit).count
for the whole record count.
As for any?
, exists?
or all.any?
would work as expected.
from kaminari.
Yeah, makes sense. I can see where most of the time you want count
to return the real count of records you've pulled from the DB, not the total number of records that exist in the DB. total_count
was a good compromise, I've updated my code to use that. Thanks for getting back so quick!
from kaminari.
Same issue with present?
from kaminari.
Related Issues (20)
- rails g kaminari:views doesn't generate anything HOT 12
- Hi HOT 1
- undefined local variable or method `paginator' for _page.html.erb:22 partial HOT 2
- Undefined method `without_count' HOT 2
- Update wiki link in GitHub "About" section HOT 1
- issue on method_missing due to separation of positional and keyword arguments in Ruby 3
- Is it possible to add 'data-turbo-action' to the paginate helper? HOT 4
- How to use "Creating Friendly URLs and Caching" in "member do" ?
- With the update from i18n to v1.11.0 `:zero` in not longer supported as key
- Problem Monkey Patching Rails 7.0
- render error for js.erb
- when large table query, use total_count and total_pages slow
- paginate view helper is failing with includes HOT 3
- Updating content_for blocks
- `link_to_first_page` / `link_to_last_page` ?
- inconsistent results in case of LEFT OUTER JOIN, GROUP BY and HAVING HOT 2
- Array doesn't get paginated when total count is passed in HOT 1
- Ambiguous column "id" when PG COUNT is used with certain joins HOT 1
- Pagination links incorrect with Rails 7.1.3 and Kaminari 1.2.2 HOT 8
- using symbol as param_name gives an error in params_for
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kaminari.