Download the PHP package staudenmeir/laravel-cte without Composer
On this page you can find all versions of the php package staudenmeir/laravel-cte. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download staudenmeir/laravel-cte
More information about staudenmeir/laravel-cte
Files in staudenmeir/laravel-cte
Package laravel-cte
Short Description Laravel queries with common table expressions
License MIT
Informations about the package laravel-cte
Laravel CTE
This Laravel extension adds support for common table expressions (CTE) to the query builder and Eloquent.
Supports Laravel 5.5+.
Compatibility
- MySQL 8.0+
- MariaDB 10.2+
- PostgreSQL 9.4+
- SQLite 3.8.3+
- SQL Server 2008+
- Oracle 9.2+
- SingleStore 8.1+
- Firebird
Installation
composer require staudenmeir/laravel-cte:"^1.0"
Use this command if you are in PowerShell on Windows (e.g. in VS Code):
composer require staudenmeir/laravel-cte:"^^^^1.0"
Versions
Laravel | Package |
---|---|
11.x | 1.11 |
10.x | 1.9 |
9.x | 1.6 |
8.x | 1.4 |
7.x | 1.3 |
6.x | 1.2 |
5.8 | 1.1 |
5.5–5.7 | 1.0 |
Usage
- SELECT Queries
- Recursive Expressions
- Materialized Expressions
- Custom Columns
- Cycle Detection
- INSERT/UPDATE/DELETE Queries
- Eloquent
- Recursive Relationships
- Lumen
SELECT Queries
Use withExpression()
and provide a query builder instance, an SQL string or a closure:
Recursive Expressions
Use withRecursiveExpression()
for recursive expressions:
Materialized Expressions
Use withMaterializedExpression()
/withNonMaterializedExpression()
for (non-)materialized expressions (PostgreSQL,
SQLite):
Custom Columns
You can provide the expression's columns as the third argument:
Cycle Detection
MariaDB 10.5.2+
and PostgreSQL 14+ support native cycle
detection to prevent infinite loops in recursive expressions. Provide the column(s) that indicate(s) a cycle as the
third argument to withRecursiveExpressionAndCycleDetection()
:
On PostgreSQL, you can customize the name of the column that shows whether a cycle has been detected and the name of the column that tracks the path:
INSERT/UPDATE/DELETE Queries
You can use common table expressions in INSERT
, UPDATE
and DELETE
queries:
Eloquent
You can use common table expressions in Eloquent queries.
In Laravel 5.5–5.7, this requires the QueriesExpressions
trait:
Recursive Relationships
If you want to implement recursive relationships, you can use this package: staudenmeir/laravel-adjacency-list
Lumen
If you are using Lumen, you have to instantiate the query builder manually:
In Eloquent, the QueriesExpressions
trait is required for all versions of Lumen.
Contributing
Please see CODE OF CONDUCT for details.