Compare commits

..

No commits in common. "e952c060f31cbcafdc094feb0fa8cdda38a8be2c" and "58e79f94e3588eab534ba0e73055ae6085606b98" have entirely different histories.

34 changed files with 1 additions and 1098 deletions

View File

@ -5,7 +5,7 @@ APP_DEBUG=true
APP_URL=http://localhost APP_URL=http://localhost
APP_LOCALE=de APP_LOCALE=de
APP_FALLBACK_LOCALE=en APP_FALLBACK_LOCALE=de
APP_FAKER_LOCALE=de_DE APP_FAKER_LOCALE=de_DE
APP_MAINTENANCE_DRIVER=file APP_MAINTENANCE_DRIVER=file

View File

@ -1,57 +0,0 @@
<?php
namespace App\Filament\Resources\Belts;
use App\Filament\Resources\Belts\Pages\CreateBelt;
use App\Filament\Resources\Belts\Pages\EditBelt;
use App\Filament\Resources\Belts\Pages\ListBelts;
use App\Filament\Resources\Belts\Schemas\BeltForm;
use App\Filament\Resources\Belts\Tables\BeltsTable;
use App\Filament\Resources\Belts\RelationManagers\CoursesRelationManager;
use App\Models\Belt;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
class BeltResource extends Resource
{
protected static ?string $model = Belt::class;
protected static string|BackedEnum|null $navigationIcon = Heroicon::ArrowUpCircle;
protected static ?string $recordTitleAttribute = 'name';
protected static ?string $pluralLabel = 'Gürtel';
protected static ?string $label = 'Gürtel';
protected static ?string $navigationLabel = "Gürtel";
protected static ?string $pluralModelLabel = "Gürtel";
protected static ?string $modelLabel = "Gürtel";
public static function form(Schema $schema): Schema
{
return BeltForm::configure($schema);
}
public static function table(Table $table): Table
{
return BeltsTable::configure($table);
}
public static function getRelations(): array
{
return [
CoursesRelationManager::class
];
}
public static function getPages(): array
{
return [
'index' => ListBelts::route('/'),
'create' => CreateBelt::route('/create'),
'edit' => EditBelt::route('/{record}/edit'),
];
}
}

View File

@ -1,11 +0,0 @@
<?php
namespace App\Filament\Resources\Belts\Pages;
use App\Filament\Resources\Belts\BeltResource;
use Filament\Resources\Pages\CreateRecord;
class CreateBelt extends CreateRecord
{
protected static string $resource = BeltResource::class;
}

View File

@ -1,19 +0,0 @@
<?php
namespace App\Filament\Resources\Belts\Pages;
use App\Filament\Resources\Belts\BeltResource;
use Filament\Actions\DeleteAction;
use Filament\Resources\Pages\EditRecord;
class EditBelt extends EditRecord
{
protected static string $resource = BeltResource::class;
protected function getHeaderActions(): array
{
return [
DeleteAction::make(),
];
}
}

View File

@ -1,19 +0,0 @@
<?php
namespace App\Filament\Resources\Belts\Pages;
use App\Filament\Resources\Belts\BeltResource;
use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;
class ListBelts extends ListRecords
{
protected static string $resource = BeltResource::class;
protected function getHeaderActions(): array
{
return [
CreateAction::make(),
];
}
}

View File

@ -1,67 +0,0 @@
<?php
namespace App\Filament\Resources\Belts\RelationManagers;
use Filament\Actions\AttachAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DetachAction;
use Filament\Actions\DetachBulkAction;
use Filament\Actions\EditAction;
use Filament\Forms\Components\TextInput;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class CoursesRelationManager extends RelationManager
{
protected static string $relationship = 'courses';
public function form(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('name')
->required(),
TextInput::make('duration')
->required()
->numeric(),
]);
}
public function table(Table $table): Table
{
return $table
->recordTitleAttribute('name')
->columns([
TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('name')
->searchable(),
TextColumn::make('duration')
->numeric()
->sortable(),
])
->filters([
//
])
->headerActions([
AttachAction::make()->preloadRecordSelect(),
])
->recordActions([
DetachAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DetachBulkAction::make(),
]),
]);
}
}

View File

@ -1,18 +0,0 @@
<?php
namespace App\Filament\Resources\Belts\Schemas;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Schema;
class BeltForm
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('name')
->required(),
]);
}
}

View File

@ -1,41 +0,0 @@
<?php
namespace App\Filament\Resources\Belts\Tables;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class BeltsTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('name')
->searchable(),
])
->filters([
//
])
->recordActions([
EditAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace App\Filament\Resources\Courses;
use App\Filament\Resources\Courses\Pages\CreateCourse;
use App\Filament\Resources\Courses\Pages\EditCourse;
use App\Filament\Resources\Courses\Pages\ListCourses;
use App\Filament\Resources\Courses\Pages\ViewCourse;
use App\Filament\Resources\Courses\RelationManagers\KidsRelationManager;
use App\Filament\Resources\Courses\Schemas\CourseForm;
use App\Filament\Resources\Courses\Schemas\CourseInfolist;
use App\Filament\Resources\Courses\Tables\CoursesTable;
use App\Models\Course;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
class CourseResource extends Resource
{
protected static ?string $model = Course::class;
protected static string|BackedEnum|null $navigationIcon = Heroicon::ArchiveBox;
protected static ?string $recordTitleAttribute = 'name';
protected static ?string $pluralLabel = 'Kurse';
protected static ?string $label = 'Kurs';
protected static ?string $navigationLabel = "Kurse";
protected static ?string $pluralModelLabel = "Kurse";
protected static ?string $modelLabel = "Kurs";
public static function form(Schema $schema): Schema
{
return CourseForm::configure($schema);
}
public static function infolist(Schema $schema): Schema
{
return CourseInfolist::configure($schema);
}
public static function table(Table $table): Table
{
return CoursesTable::configure($table);
}
public static function getRelations(): array
{
return [
KidsRelationManager::class
];
}
public static function getPages(): array
{
return [
'index' => ListCourses::route('/'),
'create' => CreateCourse::route('/create'),
'view' => ViewCourse::route('/{record}'),
'edit' => EditCourse::route('/{record}/edit'),
];
}
}

View File

@ -1,11 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Pages;
use App\Filament\Resources\Courses\CourseResource;
use Filament\Resources\Pages\CreateRecord;
class CreateCourse extends CreateRecord
{
protected static string $resource = CourseResource::class;
}

View File

@ -1,21 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Pages;
use App\Filament\Resources\Courses\CourseResource;
use Filament\Actions\DeleteAction;
use Filament\Actions\ViewAction;
use Filament\Resources\Pages\EditRecord;
class EditCourse extends EditRecord
{
protected static string $resource = CourseResource::class;
protected function getHeaderActions(): array
{
return [
ViewAction::make(),
DeleteAction::make(),
];
}
}

View File

@ -1,19 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Pages;
use App\Filament\Resources\Courses\CourseResource;
use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;
class ListCourses extends ListRecords
{
protected static string $resource = CourseResource::class;
protected function getHeaderActions(): array
{
return [
CreateAction::make(),
];
}
}

View File

@ -1,19 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Pages;
use App\Filament\Resources\Courses\CourseResource;
use Filament\Actions\EditAction;
use Filament\Resources\Pages\ViewRecord;
class ViewCourse extends ViewRecord
{
protected static string $resource = CourseResource::class;
protected function getHeaderActions(): array
{
return [
EditAction::make(),
];
}
}

View File

@ -1,103 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\RelationManagers;
use Filament\Actions\AttachAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\DetachAction;
use Filament\Actions\DetachBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ViewAction;
use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\TextInput;
use Filament\Infolists\Components\TextEntry;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class KidsRelationManager extends RelationManager
{
protected static string $relationship = 'kids';
public function isReadOnly(): bool
{
return false;
}
public function form(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('name')
->required(),
TextInput::make('email')
->label('Email address')
->email(),
]);
}
public function infolist(Schema $schema): Schema
{
return $schema
->components([
TextEntry::make('created_at')
->dateTime()
->placeholder('-'),
TextEntry::make('updated_at')
->dateTime()
->placeholder('-'),
TextEntry::make('name'),
TextEntry::make('email')
->label('Email address')
->placeholder('-'),
]);
}
public function table(Table $table): Table
{
return $table
->recordTitleAttribute('name')
->columns([
TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('name')
->searchable(),
TextColumn::make('email')
->label('Email address')
->searchable(),
])
->filters([
//
])
->headerActions([
CreateAction::make(),
AttachAction::make()
->form(fn (AttachAction $action): array => [
$action->getRecordSelect(),
DatePicker::make('date')->required(),
])->preloadRecordSelect()
])
->recordActions([
ViewAction::make(),
EditAction::make(),
DetachAction::make(),
DeleteAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DetachBulkAction::make(),
DeleteBulkAction::make(),
]),
]);
}
}

View File

@ -1,21 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Schemas;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Schema;
class CourseForm
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('name')
->required(),
TextInput::make('duration')
->required()
->numeric(),
]);
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Schemas;
use Filament\Infolists\Components\TextEntry;
use Filament\Schemas\Schema;
class CourseInfolist
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
TextEntry::make('created_at')
->dateTime()
->placeholder('-'),
TextEntry::make('updated_at')
->dateTime()
->placeholder('-'),
TextEntry::make('name'),
TextEntry::make('duration')
->numeric(),
]);
}
}

View File

@ -1,45 +0,0 @@
<?php
namespace App\Filament\Resources\Courses\Tables;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ViewAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class CoursesTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('name')
->searchable(),
TextColumn::make('duration')
->numeric()
->sortable(),
])
->filters([
//
])
->recordActions([
ViewAction::make(),
EditAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
}

View File

@ -1,65 +0,0 @@
<?php
namespace App\Filament\Resources\Kids;
use App\Filament\Resources\Kids\Pages\CreateKid;
use App\Filament\Resources\Kids\Pages\EditKid;
use App\Filament\Resources\Kids\Pages\ListKids;
use App\Filament\Resources\Kids\Pages\ViewKid;
use App\Filament\Resources\Kids\RelationManagers\CoursesRelationManager;
use App\Filament\Resources\Kids\Schemas\KidForm;
use App\Filament\Resources\Kids\Schemas\KidInfolist;
use App\Filament\Resources\Kids\Tables\KidsTable;
use App\Models\Kid;
use BackedEnum;
use Filament\Resources\Resource;
use Filament\Schemas\Schema;
use Filament\Support\Icons\Heroicon;
use Filament\Tables\Table;
class KidResource extends Resource
{
protected static ?string $model = Kid::class;
protected static string|BackedEnum|null $navigationIcon = Heroicon::UserCircle;
protected static ?string $recordTitleAttribute = 'name';
protected static ?string $pluralLabel = 'Kinder';
protected static ?string $label = 'Kind';
protected static ?string $navigationLabel = "Kinder";
protected static ?string $pluralModelLabel = "Kinder";
protected static ?string $modelLabel = "Kind";
public static function form(Schema $schema): Schema
{
return KidForm::configure($schema);
}
public static function infolist(Schema $schema): Schema
{
return KidInfolist::configure($schema);
}
public static function table(Table $table): Table
{
return KidsTable::configure($table);
}
public static function getRelations(): array
{
return [
CoursesRelationManager::class
];
}
public static function getPages(): array
{
return [
'index' => ListKids::route('/'),
'create' => CreateKid::route('/create'),
'view' => ViewKid::route('/{record}'),
'edit' => EditKid::route('/{record}/edit'),
];
}
}

View File

@ -1,11 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Pages;
use App\Filament\Resources\Kids\KidResource;
use Filament\Resources\Pages\CreateRecord;
class CreateKid extends CreateRecord
{
protected static string $resource = KidResource::class;
}

View File

@ -1,21 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Pages;
use App\Filament\Resources\Kids\KidResource;
use Filament\Actions\DeleteAction;
use Filament\Actions\ViewAction;
use Filament\Resources\Pages\EditRecord;
class EditKid extends EditRecord
{
protected static string $resource = KidResource::class;
protected function getHeaderActions(): array
{
return [
ViewAction::make(),
DeleteAction::make(),
];
}
}

View File

@ -1,19 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Pages;
use App\Filament\Resources\Kids\KidResource;
use Filament\Actions\CreateAction;
use Filament\Resources\Pages\ListRecords;
class ListKids extends ListRecords
{
protected static string $resource = KidResource::class;
protected function getHeaderActions(): array
{
return [
CreateAction::make(),
];
}
}

View File

@ -1,19 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Pages;
use App\Filament\Resources\Kids\KidResource;
use Filament\Actions\EditAction;
use Filament\Resources\Pages\ViewRecord;
class ViewKid extends ViewRecord
{
protected static string $resource = KidResource::class;
protected function getHeaderActions(): array
{
return [
EditAction::make(),
];
}
}

View File

@ -1,104 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\RelationManagers;
use Filament\Actions\AttachAction;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\DetachAction;
use Filament\Actions\DetachBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ViewAction;
use Filament\Forms\Components\DatePicker;
use Filament\Forms\Components\TextInput;
use Filament\Infolists\Components\TextEntry;
use Filament\Resources\RelationManagers\RelationManager;
use Filament\Schemas\Schema;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class CoursesRelationManager extends RelationManager
{
protected static string $relationship = 'courses';
public function isReadOnly(): bool
{
return false;
}
public function form(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('name')
->required(),
TextInput::make('duration')
->required()
->numeric(),
DatePicker::make('date')
]);
}
public function infolist(Schema $schema): Schema
{
return $schema
->components([
TextEntry::make('created_at')
->dateTime()
->placeholder('-'),
TextEntry::make('updated_at')
->dateTime()
->placeholder('-'),
TextEntry::make('name'),
TextEntry::make('duration')
->numeric(),
]);
}
public function table(Table $table): Table
{
return $table
->recordTitleAttribute('name')
->columns([
TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('name')
->searchable(),
TextColumn::make('date')
->searchable(),
TextColumn::make('duration')
->numeric()
->sortable(),
])
->filters([
//
])
->headerActions([
AttachAction::make()
->schema(fn (AttachAction $action): array => [
$action->getRecordSelect(),
DatePicker::make('date')->required(),
])->preloadRecordSelect()
])
->recordActions([
ViewAction::make(),
EditAction::make(),
DetachAction::make(),
DeleteAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DetachBulkAction::make(),
DeleteBulkAction::make(),
]),
]);
}
}

View File

@ -1,21 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Schemas;
use Filament\Forms\Components\TextInput;
use Filament\Schemas\Schema;
class KidForm
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
TextInput::make('name')
->required(),
TextInput::make('email')
->label('Email address')
->email(),
]);
}
}

View File

@ -1,26 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Schemas;
use Filament\Infolists\Components\TextEntry;
use Filament\Schemas\Schema;
class KidInfolist
{
public static function configure(Schema $schema): Schema
{
return $schema
->components([
TextEntry::make('created_at')
->dateTime()
->placeholder('-'),
TextEntry::make('updated_at')
->dateTime()
->placeholder('-'),
TextEntry::make('name'),
TextEntry::make('email')
->label('Email address')
->placeholder('-'),
]);
}
}

View File

@ -1,45 +0,0 @@
<?php
namespace App\Filament\Resources\Kids\Tables;
use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction;
use Filament\Actions\ViewAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
class KidsTable
{
public static function configure(Table $table): Table
{
return $table
->columns([
TextColumn::make('created_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('updated_at')
->dateTime()
->sortable()
->toggleable(isToggledHiddenByDefault: true),
TextColumn::make('name')
->searchable(),
TextColumn::make('email')
->label('Email address')
->searchable(),
])
->filters([
//
])
->recordActions([
ViewAction::make(),
EditAction::make(),
])
->toolbarActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
}

View File

@ -1,17 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Belt extends Model
{
protected $fillable = ["name"];
public function courses(): BelongsToMany
{
return $this->belongsToMany(Course::class);
}
}

View File

@ -1,23 +0,0 @@
<?php
namespace App\Models;
use App\Models\Kid;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Course extends Model
{
protected $fillable = ["name", "duration"];
public function kids(): BelongsToMany
{
return $this->belongsToMany(Kid::class)->withPivot("date");
}
public function belts(): BelongsToMany
{
return $this->belongsToMany(Belt::class);
}
}

View File

@ -1,16 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
class Kid extends Model
{
protected $fillable = ["name", "email"];
public function courses(): BelongsToMany
{
return $this->belongsToMany(Course::class)->withPivot("date");
}
}

View File

@ -1,29 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('kids', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string("name");
$table->string("email")->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('kids');
}
};

View File

@ -1,29 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('courses', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string("name");
$table->integer("duration");
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('courses');
}
};

View File

@ -1,32 +0,0 @@
<?php
use App\Models\Course;
use App\Models\Kid;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('course_kid', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->foreignIdFor(Kid::class);
$table->foreignIdFor(Course::class);
$table->date("date")->nullable();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('course_kid');
}
};

View File

@ -1,28 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('belts', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->string("name");
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('coursecategories');
}
};

View File

@ -1,31 +0,0 @@
<?php
use App\Models\Belt;
use App\Models\Course;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('belt_course', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->foreignIdFor(Belt::class);
$table->foreignIdFor(Course::class);
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('belt_course');
}
};