End year procedures implementation #111

Merged
okorpheus merged 6 commits from EndYearProcedures into master 2025-05-30 03:13:24 +00:00
3 changed files with 53 additions and 0 deletions
Showing only changes of commit 75f60d0cdb - Show all commits

View File

@ -0,0 +1,17 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
class HistoricalSeat extends Model
{
use HasFactory;
public function student(): BelongsTo
{
return $this->belongsTo(Student::class);
}
}

View File

@ -45,6 +45,11 @@ class Student extends Model
return $this->belongsTo(School::class); return $this->belongsTo(School::class);
} }
public function historicalSeats(): HasMany
{
return $this->hasMany(HistoricalSeat::class);
}
public function users(): HasManyThrough public function users(): HasManyThrough
{ {
return $this->hasManyThrough( return $this->hasManyThrough(

View File

@ -0,0 +1,31 @@
<?php
use App\Models\Student;
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('historical_seats', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->foreignIdFor(Student::class)->constrained()->onDelete('cascade');
$table->integer('year');
$table->string('seat_description');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('historical_seats');
}
};