/** * Build migration fields * @return string */ private function buildFields() { $migrationTypes = FieldsDescriber::migration(); $used = []; $fields = '$table->increments("id");' . "\r\n"; foreach ($this->fields as $field) { // Check if there is no duplication for radio and checkbox if (!in_array($field->title, $used)) { // Generate our migration line $migrationLine = str_replace(['$FIELDNAME$', '$STATE$', '$RELATIONSHIP$'], [$field->title, $field->default == 'true' ? 1 : 0, $field->relationship_name], $migrationTypes[$field->type]); $fields .= ' '; // Add formatting space to the migration $fields .= '$table->' . $migrationLine . ";\r\n"; if ($field->type == 'relationship') { $used[$field->relationship_name] = $field->relationship_name; } else { $used[$field->title] = $field->title; } } } $fields .= ' '; // Add formatting space to the migration $fields .= '$table->timestamps();'; if ($this->soft == 1) { $fields .= "\r\n"; $fields .= ' '; // Add formatting space to the migration $fields .= '$table->softDeletes();'; } return $fields; }
/** * Build migration fields * @return string */ private function buildFields() { $migrationTypes = FieldsDescriber::migration(); $used = []; $fields = '$table->increments("id");' . "\r\n"; foreach ($this->fields as $field) { // Check if there is no duplication for radio and checkbox if (!in_array($field->title, $used)) { // Generate our migration line $migrationLine = str_replace(['$FIELDNAME$', '$STATE$', '$RELATIONSHIP$'], [$field->title, $field->default == 'true' ? 1 : 0, $field->relationship_name], $migrationTypes[$field->type]); $fields .= ' '; // Add formatting space to the migration if ($field->type == 'enum') { $values = ''; $field->enum = explode(',', $field->enum); foreach ($field->enum as $val) { // Remove first whitespace if (strpos(substr($val, 0, 1), ' ') !== false) { $len = strlen($val); $val = substr($val, 1, $len); } $values .= '"' . $val . '"'; if ($val != last($field->enum)) { $values .= ', '; } } $migrationLine = str_replace('$VALUES$', $values, $migrationLine); } $fields .= '$table->' . $migrationLine . ";\r\n"; if ($field->type == 'relationship') { $used[$field->relationship_name] = $field->relationship_name; } else { $used[$field->title] = $field->title; } } } $fields .= ' '; // Add formatting space to the migration $fields .= '$table->timestamps();'; if ($this->soft == 1) { $fields .= "\r\n"; $fields .= ' '; // Add formatting space to the migration $fields .= '$table->softDeletes();'; } return $fields; }
/** * Show new crud creation page * @return \Illuminate\View\View */ public function create() { $fieldTypes = FieldsDescriber::types(); $fieldValidation = FieldsDescriber::validation(); $defaultValuesCbox = FieldsDescriber::default_cbox(); $crudsSelect = Crud::lists('title', 'id'); // Get columns for relationship $models = []; foreach (Crud::all() as $crud) { // We are having a default User model if ($crud->title == 'User' && $crud->is_crud == 0) { $tableName = 'users'; } else { $tableName = strtolower($crud->name); } $models[$crud->id] = Schema::getColumnListing($tableName); } return view("qa::cruds.create", compact('fieldTypes', 'fieldValidation', 'defaultValuesCbox', 'crudsSelect', 'models')); }
/** * Show new menu creation page * @return \Illuminate\View\View */ public function createCrud() { $fieldTypes = FieldsDescriber::types(); $fieldValidation = FieldsDescriber::validation(); $defaultValuesCbox = FieldsDescriber::default_cbox(); $menusSelect = Menu::lists('title', 'id'); $parentsSelect = Menu::where('menu_type', 2)->lists('title', 'id')->prepend('-- no parent --', 'null'); // Get columns for relationship $models = []; foreach (Menu::all() as $menu) { // We are having a default User model if ($menu->title == 'User' && $menu->is_menu == 0) { $tableName = 'users'; } else { $tableName = strtolower($menu->name); } $models[$menu->id] = Schema::getColumnListing($tableName); } return view("qa::menus.createCrud", compact('fieldTypes', 'fieldValidation', 'defaultValuesCbox', 'menusSelect', 'models', 'parentsSelect')); }