src/CrudKit/Data/SQLDataProvider.php
protected function processColumns () {
        // Get a schema manager and get the list of columns
        $sm = $this->conn->getSchemaManager();
        $columns = $sm->listTableColumns($this->tableName);

        $type_lookup = array();

        /**
         * @var $col Column
         */
        foreach($columns as $col) {
            $type_lookup[$col->getName()] = $col;
        }

        foreach($this->colDefs as $item) {
            $id = $item['id'];
            $category = $item['category'];
            $opts = $item['options'];

            /**
             * @var $target SQLColumn
             */
            $target = null;

            switch($category) {
                case SQLColumn::CATEGORY_VALUE:
                    $target = new ValueColumn($id, $category, $opts);
                    break;
                // case "foreign":
                //     $target = new ForeignColumn($id, $category, $opts);
                //     break;
                case SQLColumn::CATEGORY_PRIMARY:
                    $target = new PrimaryColumn($id, $category, $opts);
                    break;
                case SQLColumn::CATEGORY_EXTERNAL:
                    $target = new ExternalColumn ($id, $category, $opts);
                    break;
                default:
                    //TODO: Throw library-specific exceptions
                    throw new \Exception("Unknown category for column $category");
            }

            $target->doctrineColumnLookup($type_lookup);
            $target->init ();

            $this->columns[$id] = $target;
        }
    }
protected function processColumns () {
        // Get a schema manager and get the list of columns
        $sm = $this->conn->getSchemaManager();
        $columns = $sm->listTableColumns($this->tableName);

        $type_lookup = array();

        /**
         * @var $col Column
         */
        foreach($columns as $col) {
            $type_lookup[$col->getName()] = $col;
        }

        foreach($this->colDefs as $item) {
            $id = $item['id'];
            $category = $item['category'];
            $opts = $item['options'];

            /**
             * @var $target SQLColumn
             */
            $target = null;

            switch($category) {
                case SQLColumn::CATEGORY_VALUE:
                    $target = new ValueColumn($id, $category, $opts);
                    break;
                // case "foreign":
                //     $target = new ForeignColumn($id, $category, $opts);
                //     break;
                case SQLColumn::CATEGORY_PRIMARY:
                    $target = new PrimaryColumn($id, $category, $opts);
                    break;
                case SQLColumn::CATEGORY_EXTERNAL:
                    $target = new ExternalColumn ($id, $category, $opts);
                    break;
                default:
                    //TODO: Throw library-specific exceptions
                    throw new \Exception("Unknown category for column $category");
            }

            $target->doctrineColumnLookup($type_lookup);
            $target->init ();

            $this->columns[$id] = $target;
        }
    }
protected function processColumns ( ) { // Get a schema manager and get the list of columns $ sm = $ this -> conn -> getSchemaManager ( ) ; $ columns = $ sm -> listTableColumns ( $ this -> tableName ) ; $ type_lookup = array ( ) ; /**
         * @var $col Column
         */ foreach ( $ columns as $ col ) { $ type_lookup [ $ col -> getName ( ) ] = $ col ; } foreach ( $ this -> colDefs as $ item ) { $ id = $ item [ 'id' ] ; $ category = $ item [ 'category' ] ; $ opts = $ item [ 'options' ] ; /**
             * @var $target SQLColumn
             */ $ target = null ; switch ( $ category ) { case SQLColumn :: CATEGORY_VALUE : $ target = new ValueColumn ( $ id , $ category , $ opts ) ; break ; // case "foreign": //     $target = new ForeignColumn($id, $category, $opts); //     break; case SQLColumn :: CATEGORY_PRIMARY : $ target = new PrimaryColumn ( $ id , $ category , $ opts ) ; break ; case SQLColumn :: CATEGORY_EXTERNAL : $ target = new ExternalColumn ( $ id , $ category , $ opts ) ; break ; default : //TODO: Throw library-specific exceptions throw new \ Exception ( "Unknown category for column $category" ) ; } $ target -> doctrineColumnLookup ( $ type_lookup ) ; $ target -> init ( ) ; $ this -> columns [ $ id ] = $ target ; } }
Converts columns from raw objects to more powerful cool objects
Converts columns from raw objects to more powerful cool objects