Aggregations
This is the official documentation of the forestadmin/laravel-forestadmin v2+ and forestadmin/symfony-forestadmin PHP agents.
An aggregation represents a query to a collection that aggregates on records.
They are simple 3 keys objects:
An
operationthat specifies how the data should be aggregated (Count,Sum,Avg,Max,Min)A
field, that specifies the data that should be aggregatedGroups, which may be rounded when they are Dates
Supported group rounding operations are Year, Month, Week, Day, and null (let the field as it is).
Count records
The simplest possible query is to count records from a collection.
{ "operation": "Count", "field": null, "groups": [] }Equivalent in SQL: SELECT COUNT(*) FROM books
Average rating
{ "operation": "Average", "field": "rating", "groups": [] }Equivalent in SQL: SELECT AVG(rating) FROM books
Average rating by author
{ "operation": "Average", "field": "rating", "groups": [{ "field": "author:name" }] }Equivalent in SQL: SELECT authorName, AVG(rating) FROM books GROUP BY 1
Average rating by author and year
{
"operation": "Average",
"field": "rating",
"groups": [
{ "field": "authorName" },
{ "field": "createdAt", "operation": "Year" }
]
}Equivalent in SQL: SELECT authorName, TO_YEAR(createdAt), AVG(rating) FROM books GROUP BY 1, 2
Last updated
Was this helpful?