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.

Cube

Laravel Newsletter

Join 40k+ other developers and never miss out on new tips, tutorials, and more.


Flowframe Laravel Trend Related Articles

5 Underrated Filament Features image

5 Underrated Filament Features

Read article
Tinkerwell logo

Tinkerwell

The must-have code runner for Laravel developers. Tinker with AI, autocompletion and instant feedback on local and production environments.

Tinkerwell
Kirschbaum logo

Kirschbaum

Providing innovation and stability to ensure your web application succeeds.

Kirschbaum
The Certification of Competence for Laravel logo

The Certification of Competence for Laravel

A community-driven, proctored assessment across 4 levels designed to validate real-world Laravel knowledge, from Junior to mastery-level Artisan. Official Vue.js, Official Nuxt, Angular, React, JS certifications also available.

The Certification of Competence for Laravel
Statamic logo

Statamic

The drop-in ready Laravel CMS you’re been waiting for. Go full-stack or headless, flat file or database – it’s up to you.

Statamic
Typesense Search logo

Typesense Search

Typesense is an open source, blazing-fast search engine, optimized for helping you build delightful search experiences for your sites and apps. Natively integrated with Laravel Scout.

Typesense Search
Lucky Media logo

Lucky Media

Get Lucky Now - the ideal choice for Laravel Development, with over a decade of experience!

Lucky Media