Laravel Collection Addons
This package provides some additional functions that can be used with Laravel's Collection., (*1)
Requirements
This package requires PHP in>= 7.2
and Laravel in >= 5.7
., (*2)
Installation
You can install the package via composer:, (*3)
composer require aheenam/laravel-collection-addon
Usage
This package comes with following additional methods for Laravel collections, (*4)
containsAll($subset)
This method returns true if the collection contains all elements of the given $subset
., (*5)
<?php
// returns true
collect([1,2,3])->containsAll([1,2]);
// returns false
collect([1,2,3])->containsAll([1,4]);
containsAny($subset)
This method returns true if the collection contains any of the elements given in $subset
, (*6)
<?php
// returns true
collect([1,2,3])->containsAny([1,4]);
// returns false
collect([1,2,3])->containsAny([4,5]);
hasAll($subset)
This method checks if all the given keys in $subset
are present in the collection., (*7)
<?php
// returns true
collect(['name' => 'john doe', 'nickname' => 'jd', 'age' => 32])->hasAny(['name', 'nickname']);
// returns false
collect(['name' => 'john doe', 'age' => 32])->hasAny(['name', 'firstName', 'lastName']);
// returns false
collect(['nickname' => 'jd', 'age' => 32])->hasAny(['name', 'firstName', 'lastName']);
hasAny($subset)
This method checks if any of the given keys in $subset
exist in the collection., (*8)
<?php
// returns true
collect(['name' => 'john doe', 'age' => 32])->hasAny(['name', 'firstName', 'lastName']);
// returns false
collect(['nickname' => 'jd', 'age' => 32])->hasAny(['name', 'firstName', 'lastName']);
Changelog
Check CHANGELOG for the changelog, (*9)
Testing
To run tests use, (*10)
$ composer test
Contributing
Security
If you discover any security related issues, please email rathes@aheenam.com or use the issue tracker of GitHub., (*11)
About
Aheenam is a small company from NRW, Germany creating custom digital solutions. Visit
our website to find out more about us., (*12)
License
The MIT License (MIT). Please see License File for more information., (*13)