Tôi khá chắc chắn rằng DQL sẽ là con đường để đi, nhưng tôi tự hỏi nếu Doctrine, tôi đang sử dụng Doctrine 2, đã someway để trả về số hàng. Tôi sẽ không sử dụng chính các hàng, tôi chỉ muốn đếm.Tốt hơn để sử dụng DQL để nhận số đếm cột hoặc nhận bộ sưu tập, hãy đếm?
15
A
Trả lời
30
Tôi mới đến Doctrine2 nhưng có vẻ như bạn chỉ có thể làm điều này:
$query = $em->createQuery('SELECT COUNT(u.id) FROM Entities\User u');
$count = $query->getSingleScalarResult();
Nguồn (Sử dụng chức năng Agregate): http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#dql-select-examples
phép chức năng tổng hợp: http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#aggregate-functions
0
Đây là một quan điểm thú vị khác về việc sử dụng các hàm tổng hợp trong DQL
http://doctrine-orm.readthedocs.org/en/latest/cookbook/aggregate-fields.html
Có thể bạn sẽ tránh việc tạo truy vấn cụ thể để có được giá trị tổng hợp. Trong trường hợp này, các trường tổng hợp là một lựa chọn tốt.
Các vấn đề liên quan
- 1. DQL nhiều đến nhiều và đếm
- 2. Hãy đếm với cursor.getCount() hoặc để thực thi một rawQuery với COUNT trên mệnh đề SQL?
- 3. Đếm từ trong bộ sưu tập bằng LINQ
- 4. Cách nhận số đếm NSMutableDictionary trong iphone?
- 5. Nhận tổng số nút và nút đếm
- 6. Sử dụng named_scope để nhận số hàng
- 7. đếm giá trị chỉ truthy trong một bộ sưu tập
- 8. nhận được đếm rdf: danh sách sử dụng SPARQL
- 9. Sử dụng Danh sách hoặc Bộ sưu tập có tốt hơn không?
- 10. Cách tốt nhất để xác định null hoặc đếm 0
- 11. An toàn loại tốt hơn trong bộ sưu tập Java
- 12. thứ tự một DQL Tham gia bởi đếm trên assiociation
- 13. cần tây nhận nhiệm vụ đếm
- 14. Xóa các đối tượng có số đếm nhỏ hơn ngưỡng trong bộ đếm.
- 15. nhận tổng số tài liệu phụ trong bộ sưu tập
- 16. Nhận số đếm hàng trong Trình tạo báo cáo SSRS
- 17. Cách sắp xếp theo bộ đếm khi sử dụng bộ đếm được phân loại
- 18. Cách tốt hơn để Bắt Tổng số Đếm cùng với Phân trang trong SQL Server 2012
- 19. Đếm số lượng null trong mỗi cột
- 20. Có thể sử dụng Kinect SDK để đếm số người vào hoặc rời khỏi phòng không?
- 21. Làm thế nào để sử dụng bộ đếm CSS trong danh sách mà không cần đặt lại bộ đếm?
- 22. JavaScript để nhận các hàng đếm một bảng HTML
- 23. Bộ đếm hiệu suất chính xác để nhận CPU và sử dụng bộ nhớ của một quy trình là gì?
- 24. SQL Thực hành tốt nhất: count (1) hoặc đếm (*)
- 25. Sử dụng foldl để đếm số giá trị đích thực
- 26. Sử dụng LINQ để đếm giá trị tần số
- 27. SQL Sever Nhận số đếm khác nhau bằng cách sử dụng "Nhóm theo ... Với khối"
- 28. Magento - Phương pháp hiệu quả nhất để nhận số lượng bộ sưu tập
- 29. Cách tốt nhất để nhận giá trị từ Bộ sưu tập theo chỉ mục
- 30. Cách sử dụng bộ sưu tập rác để xóa tệp?
Cú pháp làm việc cho tôi là '$ em-> createQuery ('SELECT COUNT (u.id) FROM MyBundle: User u');'. Nhân tiện, trong Rails, điều tương tự này có thể được thực hiện với 'User.count'. Trong Django, 'User.objects.count'. –
@JasonSwett bạn đã sử dụng các bí danh được bạn định nghĩa bởi khung công tác Symfony. Nó sẽ không hoạt động bên ngoài Symfony, trừ khi bạn tự định nghĩa các bí danh –