Package

Flowframe Laravel Trend

Easily generate model trends

Package

flowframe/laravel-trend

View on GitHub →

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 Laravel Trend Related Articles

5 Underrated Filament Features image

5 Underrated Filament Features

Read article

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

Pushsilver

Pushsilver is simple invoicing for freelancers and small studios — send polished invoices, automate reminders, and get paid on time without the bloat.

Pushsilver

PhpStorm

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

PhpStorm

No Compromises

Joel and Aaron, the two seasoned devs from the No Compromises podcast, are now available to hire for your Laravel project. ⬧ Flat rate of $9500/mo. ⬧ No lengthy sales process. ⬧ No contracts. ⬧ 100% money back guarantee.

No Compromises

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum

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