alexandr-mironov/multikeyhashmap

Multi key hashmap for group of entities with more then one unique possible key

v0.1 2022-12-23 19:34 UTC

This package is auto-updated.

Last update: 2024-10-23 23:38:52 UTC


README

Multi key hashmap for group of entities with more then one unique possible key

This collection has main value, and can have many key maps, that's mean you can create map (based on this collection) by choosing one of any unique value in collection

for example:

we have some data as

| id | slug  | ... other properties |
|  1 | alpha | .................... |
|  2 | beta  | .................... |

we create collection

<?php

    $collection = new Collection(SomeCLass::class, 'id', 'slug');
        foreach ($iterator as $item) {
            $instance = new SomeClass($item); // just example of entity creating
            $collection->push($instance);
        }

    // after that you can get map by passing name of key
    $idMappedCollection = $collection->getMap('id'); // array with ID as key and SomeClass entity as value
    $slugMappedCollection = $collection->getMap('slug'); // array with SLUG as key and SomeClass entity as value