protected function expandAttributes(array $attributes)
    {
        foreach ($attributes as &$attribute) {
            if (is_callable($attribute) && ! is_string($attribute) && ! is_array($attribute)) {
                $attribute = $attribute($attributes);
            }

            if ($attribute instanceof static) {
                $attribute = $attribute->create()->getKey();
            }

            if ($attribute instanceof Model) {
                $attribute = $attribute->getKey();
            }
        }

        return $attributes;
    }
protected function expandAttributes(array $attributes)
    {
        foreach ($attributes as &$attribute) {
            if (is_callable($attribute) && ! is_string($attribute) && ! is_array($attribute)) {
                $attribute = $attribute($attributes);
            }

            if ($attribute instanceof static) {
                $attribute = $attribute->create()->getKey();
            }

            if ($attribute instanceof Model) {
                $attribute = $attribute->getKey();
            }
        }

        return $attributes;
    }
protected function expandAttributes ( array $ attributes ) { foreach ( $ attributes as & $ attribute ) { if ( is_callable ( $ attribute ) && ! is_string ( $ attribute ) && ! is_array ( $ attribute ) ) { $ attribute = $ attribute ( $ attributes ) ; } if ( $ attribute instanceof static ) { $ attribute = $ attribute -> create ( ) -> getKey ( ) ; } if ( $ attribute instanceof Model ) { $ attribute = $ attribute -> getKey ( ) ; } } return $ attributes ; }
Expand all attributes to their underlying values.

@param  array  $attributes
@return array
Expand all attributes to their underlying values .