Jestem całkiem pewien, że DQL będzie do zrobienia, ale zastanawiam się, czy Doctrine, używam Doctrine 2, w jakiś sposób zwróci liczbę wierszy. Nie będę używał samych rzędów, chcę tylko liczbę.Lepsze wykorzystanie DQL do uzyskania liczby kolumn lub pobrania kolekcji, a następnie policzenia?
Q
Lepsze wykorzystanie DQL do uzyskania liczby kolumn lub pobrania kolekcji, a następnie policzenia?
15
A
Odpowiedz
30
Jestem nowy Doctrine2 ale wygląda na to, można po prostu to zrobić:
$query = $em->createQuery('SELECT COUNT(u.id) FROM Entities\User u');
$count = $query->getSingleScalarResult();
źródła (Korzystanie z funkcji Agregate): http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#dql-select-examples
dozwolone kruszywa funkcje: http://www.doctrine-project.org/docs/orm/2.0/en/reference/dql-doctrine-query-language.html#aggregate-functions
0
Oto inny interesujący punkt widzenia na temat wykorzystania zagregowanych funkcji w DQL
http://doctrine-orm.readthedocs.org/en/latest/cookbook/aggregate-fields.html
Być może unikniesz utworzenia konkretnego zapytania w celu uzyskania wartości zagregowanej. W tym przypadku, zagregowane pola są dobrą alternatywą.
Powiązane problemy
- 1. Używanie Doctrine DBAL do policzenia liczby wierszy z zapytania SELECT
- 2. laravel sortowania kolekcji, a następnie przez kluczowego
- 3. Jak sortować zapytanie DQL Doctrine według liczby lub członków relacji?
- 4. Co jest lepsze, a = [] lub a = new Array()?
- 5. Magento - Najbardziej efektywna metoda uzyskania licznika kolekcji
- 6. Używanie LINQ do uzyskania maksimum kolumn dla tablic dwuwymiarowych
- 7. Lepsze lub niestandardowe filtrowanie JUnit do testów
- 8. Czy istnieje konkretna funkcja do pobrania, a następnie usunięcia elementu tablicy losowej?
- 9. seek(), a następnie read(), a następnie napisać() w Pythonie
- 10. IF EXISTS, a następnie wybierz ELSE INSERT, a następnie wybierz
- 11. Dynamiczna zmiana liczby kolumn GridLayoutManager
- 12. phpmyadmin pokazuje liczby lub blob dla kolumn wywołujących utf8_bin mysql?
- 13. Czy istnieje sposób na wykorzystanie kolekcji na stosie w Rust?
- 14. Jak zaokrąglić podwójną do najbliższej liczby całkowitej, a następnie przekonwertować na wartość zmiennoprzecinkową?
- 15. Entity Framework Core Eager Ładowanie Następnie dołącz do kolekcji
- 16. Policzenia logowania i wylogowania na komputerze Windows 7
- 17. Lua: Zaokrąglanie liczb, a następnie obcięcie
- 18. Jak uzyskać matrycę, w której tłumaczę, a następnie obracam, a następnie tłumaczę, a następnie obracam po raz drugi?
- 19. itertools lub odręczny generator - co jest lepsze?
- 20. co jest lepsze: getSingleResult lub getResultList JPA
- 21. Qt: Co jest lepsze dla przekształcania liczby na QString, QVariant lub QString :: number
- 22. push iterator do wektora (lub dowolnej kolekcji)
- 23. serializacji obiektów lub kolekcji do zalogowania
- 24. Niestandardowa funkcja DQL do replikacji MySQL CONV
- 25. Określanie maksymalnej liczby kolumn z sqlite3
- 26. wróć do konkretnego zatwierdzenia, a następnie wróć do teraźniejszości
- 27. Strumień do pakietu, pakiet do WordDocument, a następnie z powrotem
- 28. Ember.js: przejście do trasy, a następnie do segmentu dynamicznego
- 29. Co jest lepsze, curl lub wget?
- 30. Dokumentacja do pobrania Elixir
Składnia, która zadziałała, to '$ em-> createQuery (" WYBIERZ LICZBĘ (u.id) FROM MyBundle: User u ");'. Nawiasem mówiąc, w Railsach to samo można zrobić z 'User.count'. W Django: 'User.objects.count'. –
@JasonSwett użyłeś aliasów zdefiniowanych dla ciebie przez framework Symfony. Nie będzie działać poza Symfony, chyba że sam zdefiniujesz aliasy –