protected function parseRelationsFromSchema(array $schema, $path='')
    {
        $results = [];

        foreach ($schema as $key => $value) {
            if (! is_numeric($key)) {
                // join relation
                if (substr($key, 0, 3) != '...') {
                    $childPath = ($path)
                        ? $path.'.'.$key
                        : $key;
                    $results[$childPath] = (isset($this->constraints[$this->root.'.'.$childPath]))
                        ? $this->constraints[$this->root.'.'.$childPath]
                        : function () {};
                } else {
                    $childPath = $path;
                }

                // recursive call
                $results = array_merge($results, $this->parseRelationsFromSchema($value, $childPath));
            }
        }

        return $results;
    }
protected function parseRelationsFromSchema(array $schema, $path='')
    {
        $results = [];

        foreach ($schema as $key => $value) {
            if (! is_numeric($key)) {
                // join relation
                if (substr($key, 0, 3) != '...') {
                    $childPath = ($path)
                        ? $path.'.'.$key
                        : $key;
                    $results[$childPath] = (isset($this->constraints[$this->root.'.'.$childPath]))
                        ? $this->constraints[$this->root.'.'.$childPath]
                        : function () {};
                } else {
                    $childPath = $path;
                }

                // recursive call
                $results = array_merge($results, $this->parseRelationsFromSchema($value, $childPath));
            }
        }

        return $results;
    }
protected function parseRelationsFromSchema ( array $ schema , $ path = '' ) { $ results = [ ] ; foreach ( $ schema as $ key => $ value ) { if ( ! is_numeric ( $ key ) ) { // join relation if ( substr ( $ key , 0 , 3 ) != '...' ) { $ childPath = ( $ path ) ? $ path . '.' . $ key : $ key ; $ results [ $ childPath ] = ( isset ( $ this -> constraints [ $ this -> root . '.' . $ childPath ] ) ) ? $ this -> constraints [ $ this -> root . '.' . $ childPath ] : function ( ) { } ; } else { $ childPath = $ path ; } // recursive call $ results = array_merge ( $ results , $ this -> parseRelationsFromSchema ( $ value , $ childPath ) ) ; } } return $ results ; }
Parse relations from schema.

@param array $schema
@param string $path
@return void
Parse relations from schema .