yii\gii\generators\model\Generator::generate PHP Method

generate() public method

public generate ( )
    public function generate()
    {
        $files = [];
        $relations = $this->generateRelations();
        $db = $this->getDbConnection();
        foreach ($this->getTableNames() as $tableName) {
            // model :
            $modelClassName = $this->generateClassName($tableName);
            $queryClassName = $this->generateQuery ? $this->generateQueryClassName($modelClassName) : false;
            $tableSchema = $db->getTableSchema($tableName);
            $params = ['tableName' => $tableName, 'className' => $modelClassName, 'queryClassName' => $queryClassName, 'tableSchema' => $tableSchema, 'labels' => $this->generateLabels($tableSchema), 'rules' => $this->generateRules($tableSchema), 'relations' => isset($relations[$tableName]) ? $relations[$tableName] : []];
            $files[] = new CodeFile(Yii::getAlias('@' . str_replace('\\', '/', $this->ns)) . '/' . $modelClassName . '.php', $this->render('model.php', $params));
            // query :
            if ($queryClassName) {
                $params['className'] = $queryClassName;
                $params['modelClassName'] = $modelClassName;
                $files[] = new CodeFile(Yii::getAlias('@' . str_replace('\\', '/', $this->queryNs)) . '/' . $queryClassName . '.php', $this->render('query.php', $params));
            }
        }
        return $files;
    }

Usage Example

コード例 #1
0
 /**
  * @inheritdoc
  */
 public function generate()
 {
     $files = parent::generate();
     $db = $this->getDbConnection();
     foreach ($this->getTableNames() as $tableName) {
         $className = $this->generateClassName($tableName);
         $params = ['tableName' => $tableName, 'className' => $className];
         $files[] = new CodeFile(Yii::getAlias('@' . str_replace('\\', '/', $this->getChildNs())) . '/' . $className . '.php', $this->render('child_model.php', $params));
     }
     return $files;
 }
All Usage Examples Of yii\gii\generators\model\Generator::generate