src/Helpers.php
protected static function buildBuckets($models, $linkKey, $multiple)
    {
        $buckets = [];
        
        foreach ($models as $model) {
            $key = $model[$linkKey];
            if (is_scalar($key)) {
                $buckets[$key][] = $model;
            } elseif (is_array($key)){
                foreach ($key as $k) {
                    $k = static::normalizeModelKey($k);
                    $buckets[$k][] = $model;
                }
            } else {
                $key = static::normalizeModelKey($key);
                $buckets[$key][] = $model;
            }
        }
        
        if (!$multiple) {
            foreach ($buckets as $i => $bucket) {
                $buckets[$i] = reset($bucket);
            }
        }
        
        return $buckets;
    }
protected static function buildBuckets($models, $linkKey, $multiple)
    {
        $buckets = [];
        
        foreach ($models as $model) {
            $key = $model[$linkKey];
            if (is_scalar($key)) {
                $buckets[$key][] = $model;
            } elseif (is_array($key)){
                foreach ($key as $k) {
                    $k = static::normalizeModelKey($k);
                    $buckets[$k][] = $model;
                }
            } else {
                $key = static::normalizeModelKey($key);
                $buckets[$key][] = $model;
            }
        }
        
        if (!$multiple) {
            foreach ($buckets as $i => $bucket) {
                $buckets[$i] = reset($bucket);
            }
        }
        
        return $buckets;
    }
protected static function buildBuckets ( $ models , $ linkKey , $ multiple ) { $ buckets = [ ] ; foreach ( $ models as $ model ) { $ key = $ model [ $ linkKey ] ; if ( is_scalar ( $ key ) ) { $ buckets [ $ key ] [ ] = $ model ; } elseif ( is_array ( $ key ) ) { foreach ( $ key as $ k ) { $ k = static :: normalizeModelKey ( $ k ) ; $ buckets [ $ k ] [ ] = $ model ; } } else { $ key = static :: normalizeModelKey ( $ key ) ; $ buckets [ $ key ] [ ] = $ model ; } } if ( ! $ multiple ) { foreach ( $ buckets as $ i => $ bucket ) { $ buckets [ $ i ] = reset ( $ bucket ) ; } } return $ buckets ; }
Сгруппировать найденные модели
@param array $models
@param string $linkKey
@param bool $multiple
@return array
Сгруппировать найденные модели