src/Http/Concerns/Transformable.php
protected function merge($meta, array $options = []): array
    {
        if (is_array($meta) && empty($options)) {
            $options = $meta;
            $meta = null;
        }

        $options = array_merge(['includes' => [], 'excludes' => []], $options);

        foreach ($options as $key => $value) {
            $filtered = Arr::expand(array_flip($value));
            $parent = Arr::get($this->options, is_null($meta) ? $key : "{$key}.{$meta}", []);

            $options[$key] = array_keys(Arr::dot(array_merge_recursive($filtered, $parent)));
        }

        return $options;
    }
protected function merge($meta, array $options = []): array
    {
        if (is_array($meta) && empty($options)) {
            $options = $meta;
            $meta = null;
        }

        $options = array_merge(['includes' => [], 'excludes' => []], $options);

        foreach ($options as $key => $value) {
            $filtered = Arr::expand(array_flip($value));
            $parent = Arr::get($this->options, is_null($meta) ? $key : "{$key}.{$meta}", []);

            $options[$key] = array_keys(Arr::dot(array_merge_recursive($filtered, $parent)));
        }

        return $options;
    }
protected function merge ( $ meta , array $ options = [ ] ) : array { if ( is_array ( $ meta ) && empty ( $ options ) ) { $ options = $ meta ; $ meta = null ; } $ options = array_merge ( [ 'includes' => [ ] , 'excludes' => [ ] ] , $ options ) ; foreach ( $ options as $ key => $ value ) { $ filtered = Arr :: expand ( array_flip ( $ value ) ) ; $ parent = Arr :: get ( $ this -> options , is_null ( $ meta ) ? $ key : "{$key}.{$meta}" , [ ] ) ; $ options [ $ key ] = array_keys ( Arr :: dot ( array_merge_recursive ( $ filtered , $ parent ) ) ) ; } return $ options ; }
Merge meta options.

@param string|array $meta
@param array        $options

@return array
Merge meta options .