School Email Domains table

This commit is contained in:
Matt Young 2024-05-27 21:30:55 -05:00
parent d99d25f770
commit 59d2e5a92c
6 changed files with 57 additions and 5 deletions

View File

@ -4,8 +4,18 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class School extends Model
{
use HasFactory;
public function directors(): HasMany
{
return $this->hasMany(User::class);
}
public function emailDomains(): HasMany
{
return $this->hasMany(SchoolEmailDomain::class);
}
}

View File

@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class SchoolEmailDomain extends Model
{
use HasFactory;
}

View File

@ -32,6 +32,7 @@ return new class extends Migration
*/
public function down(): void
{
Schema::dropColumns('users','school_id');
Schema::dropIfExists('schools');
}
};

View File

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

View File

@ -1,6 +1,10 @@
@php use App\Models\School;use App\Models\User; @endphp
<x-layout.app>
<x-slot:page_title>Test Page</x-slot:page_title>
Hello World<br />
@php
$school = School::first()->emailDomains->pluck('domain');
dd($school);
@endphp
</x-layout.app>

View File

@ -8,7 +8,4 @@ Route::get('/', function () {
Route::view('/test','test');
Route::view('/profile','profile')->middleware('auth','verified');
Route::get('/dashboard', function () {
return view('dashboard');
})->middleware('auth', 'verified');
Route::view('/dashboard', 'dashboard')->middleware('auth', 'verified');