Download the PHP package datomatic/laravel-enum-collections without Composer

On this page you can find all versions of the php package datomatic/laravel-enum-collections. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-enum-collections

Laravel Enum Collections

Latest Version on Packagist Pest Tests number GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A Laravel collection extension to store enums with a useful eloquent field cast and a helper trait.
Take your interaction with enums to the next level.
Compatible with PureEnum, BackedEnum and datomatic/laravel-enum-helper package.

Installation

You can install the package via composer:

The main parts of the package are:

EnumCollection

EnumCollection is an extension of base Laravel collection that expand his functionalities to add the compatibility with:

EnumCollection it's a one-dimensional collection that contains only enums.

Creating an EnumCollection

You can create an enum collection in four different ways:

The from method throws a ValueError exception if an element in $data is incorrect, whereas tryFrom skips invalid data without raising exceptions.
$data can be a single element or a collection, array, or other iterable of elements.

If $data contains only Enum elements, you can omit the EnumClass (the collection will take the EnumClass of the first element).

Methods not supported by EnumCollection

range, median, mode, crossJoin, flip, collapse, collapseWithKeys, pluck, mergeRecursive, select, flatten, replaceRecursive, sliding, dot, undot, zip

Methods that return a normal Collection

map, keys, mapWithKeys, combine, mapToDictionary, groupBy, split, splitIn, chunk, chunkWhile, countBy, toBase

New methods

containsAny, doesntContainAny, toValues, toCollectionValues, mapStrict, mapWithKeysStrict

Contains method

ContainsAny method

toValues method

The toValues method serializes the collection content. If the element is a PureEnum, it will return the name of the case; otherwise, it will return the value.

Casting

You can cast a field to an EnumCollection. To use this casting option, you need to configure the Eloquent Model properly.

1. Database Migration

2. Model Setup

To set up your model, you must:

You can cast multiple fields if needed.

Unique Modifier on Casting

When casting an enum collection field with the unique modifier, the collection will automatically filter out any duplicate values. This ensures that only unique values are stored in the model.

To use the unique modifier, you can set up your model as follows:

Example Usage

When you set the enum collection field with repeated values, the duplicates will be removed:

Database Saved Data

The serialized enum collection saved in the database will contain only unique values, ensuring data integrity and preventing redundancy.

Interacting with Unique EnumCollection

You can interact with the field_name like a normal EnumCollection, but it will always contain unique values:

Set the enum collection field

You can set enum collection field passing a single element, a collection or an array of elements. After the field will become an EnumCollection.

Database saved data

A serialization of enumCollection is saved in the database, if the element is a PureEnum will be saved the name of the case, otherwise the value.

EnumCollection

Thanks to casting you can interact with field_name like a normal EnumCollection with all functionalities showed before.

HasEnumCollections trait

If you include also the HasEnumCollections into the model, you can query the models with the new where functions whereContains, orWhereContains, whereDoesntContain, orWhereDoesntContain ,whereContainsAny, orWhereContainsAny, whereDoesntContainAny and orWhereDoesntContainAny.

Testing

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.


All versions of laravel-enum-collections with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
spatie/laravel-package-tools Version ^1.13.0
illuminate/contracts Version ^9.0|^10.0|^11.0
datomatic/laravel-enum-helper Version ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package datomatic/laravel-enum-collections contains the following files

Loading the files please wait ....