/** * Saves the model content for a table. * @param TableMigration $table * @return MakeMWBModel */ protected function saveModelForTable(TableMigration $table) { $dates = []; $fields = $table->getFields(); $modelContent = (new ModelContent('\\' . $this->getAppNamespace() . $table->getModelName()))->setTable($table->getName()); if (array_key_exists($field = 'deleted_at', $fields)) { unset($fields[$field]); $dates[] = $field; $modelContent->setTraits(['\\Illuminate\\Database\\Eloquent\\SoftDeletes']); } // if if (array_key_exists($field = 'created_at', $fields)) { unset($fields[$field]); $dates[] = $field; } // if if (array_key_exists($field = 'updated_at', $fields)) { unset($fields[$field]); $dates[] = $field; } // if if ($dates) { $modelContent->setDates($dates); } // if unset($fields['id']); $modelContent->setFillable(array_diff(array_keys($fields), $table->getBlacklist())); $modelContent->setCasts($table->getCastedFields()); if ($genericCalls = $table->getGenericCalls()) { foreach ($genericCalls as $call) { if ($call instanceof ForeignKey) { $modelContent->addForeignKey($call); } // if } // foreach } // if if ($sources = $table->getRelationSources()) { foreach ($sources as $call) { if ($call instanceof ForeignKey) { $modelContent->addForeignKey($call); } // if } // foreach } // if $modelContent->save(); return $this; }