Nextras\Orm\Collection\Helpers\FetchPairsHelper::process PHP Метод

process() публичный статический Метод

public static process ( Traversable $collection, $key = null, $value = null )
$collection Traversable
    public static function process(Traversable $collection, $key = null, $value = null)
    {
        $return = [];
        $rows = iterator_to_array($collection);
        if ($key === null && $value === null) {
            throw new InvalidArgumentException('FetchPairsHelper requires defined key or value.');
        }
        if ($key === null) {
            foreach ($rows as $row) {
                $return[] = $row->{$value};
            }
        } elseif ($value === null) {
            foreach ($rows as $row) {
                $return[is_object($row->{$key}) ? (string) $row->{$key} : $row->{$key}] = $row;
            }
        } else {
            foreach ($rows as $row) {
                $return[is_object($row->{$key}) ? (string) $row->{$key} : $row->{$key}] = $row->{$value};
            }
        }
        return $return;
    }

Usage Example

 public function fetchPairs($key = NULL, $value = NULL)
 {
     return FetchPairsHelper::process($this->getIterator(), $key, $value);
 }
FetchPairsHelper