Exemplo n.º 1
0
 /**
  * Indexes a collection.
  *
  * @param  mixed  $collection An collection to extract index from.
  * @param  string $name       The field name to build index for.
  * @return Map                An array of indexes where keys are `$name` values and
  *                            values the corresponding index in the collection.
  */
 protected function _index($collection, $name)
 {
     $indexes = new Map();
     foreach ($collection as $key => $entity) {
         if (is_object($entity)) {
             if ($entity->{$name}) {
                 $indexes->set($entity->{$name}, $key);
             }
         } else {
             if (isset($entity[$name])) {
                 $indexes->set($entity[$name], $key);
             }
         }
     }
     return $indexes;
 }