Example #1
0
 private function modificarPlantillaModel($tables, $connection)
 {
     $this->info($this->messages['search_tables']);
     foreach ($tables as $table) {
         $this->info($this->messages['model_table'] . $table->TABLE_NAME);
         //class name
         $class_name = ucfirst(camel_case(Helper::strSingularSpanish($table->TABLE_NAME)));
         $baseString = File::get(app_path($this->directories['model_template']));
         //replace class name..
         $baseString = str_replace('@class_name@', $class_name, $baseString);
         //replace connection..
         $baseString = str_replace('@connection@', $connection, $baseString);
         //replace table name..
         $baseString = str_replace('@table_name@', $table->TABLE_NAME, $baseString);
         //replace pretty name..
         $baseString = str_replace('@pretty_name@', $table->TABLE_NAME, $baseString);
         //find columns.
         //            $columns = $table->columns()->whereNotIn('COLUMN_NAME', static::$common_hidden)->get();
         $columns = Table::getColumns($table->TABLE_NAME, static::$common_hidden);
         //generate primary key
         $baseString = str_replace('@primary_key@', $this->generarPrimary($columns), $baseString);
         //generate fillable
         $baseString = str_replace('@fillable@', $this->generarFillable($columns), $baseString);
         //generate pretty fields string.
         $baseString = str_replace('@pretty_fields@', $this->generarPrettyFields($columns), $baseString);
         //generate table fields string.
         $baseString = str_replace('@table_fields@', $this->generarFillable($columns), $baseString);
         //generate rules..
         $baseString = str_replace('@rules@', $this->genenarRules($columns), $baseString);
         //generate belongs to..
         $baseString = str_replace('@belongs_to@', $this->generarBelongsTo($columns), $baseString);
         File::put(app_path($this->directories['models'] . DIRECTORY_SEPARATOR . $class_name . '.php'), $baseString);
     }
     return;
 }