The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

Laravel Trend

flowframe/laravel-trend image

Laravel Trend stats

Downloads
252.2K
Stars
309
Open Issues
7
Forks
42

View on GitHub →

Easily generate model trends

Laravel Trend Package Summary

Overview

The Laravel Trend package provides a fluent, efficient way to generate trends and aggregates such as charts or reports directly from your models in a Laravel application. It simplifies the task of aggregating data over different intervals, making it ideal for applications that require dynamic reporting features.

Key Features

  • Flexible Aggregation: Supports various aggregation operations like sum, average, max, min, and count.
  • Multiple Intervals: Allows data to be aggregated over different time intervals including minute, hour, day, month, and year.
  • Support for Eloquent Queries: Easily integrate with Laravel's Eloquent ORM, supporting both direct model trend analysis or more complex, query-based trends.
  • Database Compatibility: Compatible with MySQL, SQLite, and PostgreSQL, ensuring broad database support.

Installation

Install the package via Composer:

composer require flowframe/laravel-trend

Usage

Begin by importing the Trend class. You can generate trends by starting with either a model or a query, specifying the desired time interval and the type of aggregation.

Examples

  • Total Users per Month:

    $trend = Trend::model(User::class)
    ->between(start: now()->startOfYear(), end: now()->endOfYear())
    ->perMonth()
    ->count();
  • Average Weight of Users Starting with 'A' per Year:

    $trend = Trend::query(User::where('name', 'like', 'a%'))
    ->between(start: now()->startOfYear()->subYears(10), end: now()->endOfYear())
    ->perYear()
    ->average('weight');

Starting a Trend

  • Use ::model() for direct model analysis without additional filters.
  • Use ::query() to incorporate filters and more complex queries.

Aggregation and Intervals

  • Utilize methods like perDay(), perMonth(), etc., to set the aggregation interval.
  • Functions such as sum('column'), average('column'), and others are used to define the type of data aggregation.

Reporting Security Vulnerabilities

For security-related concerns, please refer to the package's security policy documentation.

This package is maintained by Lars Klopstra and other contributors, providing a robust solution for generating data trends in Laravel applications.

Flowframe photo

Flowframe is a web agency specialised in creating delightful web experiences combined with a solid back-end.


Flowframe Laravel Trend Related Articles

5 Underrated Filament Features image

5 Underrated Filament Features

Read article
Harpoon: Next generation time tracking and invoicing logo

Harpoon: Next generation time tracking and invoicing

The next generation time-tracking and billing software that helps your agency plan and forecast a profitable future.

Harpoon: Next generation time tracking and invoicing
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit: Laravel SaaS Starter Kit

SaaSykit is a Multi-tenant Laravel SaaS Starter Kit that comes with all features required to run a modern SaaS. Payments, Beautiful Checkout, Admin Panel, User dashboard, Auth, Ready Components, Stats, Blog, Docs and more.

SaaSykit: Laravel SaaS Starter Kit
Shift logo

Shift

Running an old Laravel version? Instant, automated Laravel upgrades and code modernization to keep your applications fresh.

Shift
PhpStorm logo

PhpStorm

The go-to PHP IDE with extensive out-of-the-box support for Laravel and its ecosystem.

PhpStorm
Acquaint Softtech logo

Acquaint Softtech

Acquaint Softtech offers AI-ready Laravel developers who onboard in 48 hours at $3000/Month with no lengthy sales process and a 100 percent money-back guarantee.

Acquaint Softtech