From aff4a8c5a00d23d28494a1a7ea9db21e478ea0af Mon Sep 17 00:00:00 2001 From: TZGyn Date: Tue, 20 Jun 2023 13:03:43 +0800 Subject: [PATCH] Update backend Post model (add user relation) --- backend/app/Models/User.php | 6 ++++++ backend/database/factories/PostFactory.php | 1 + .../migrations/2023_06_05_145153_create_posts_table.php | 2 +- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/backend/app/Models/User.php b/backend/app/Models/User.php index 4d7f70f..bfb898f 100644 --- a/backend/app/Models/User.php +++ b/backend/app/Models/User.php @@ -4,6 +4,7 @@ namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; @@ -42,4 +43,9 @@ class User extends Authenticatable 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; + + public function posts(): HasMany + { + return $this->hasMany(Post::class); + } } diff --git a/backend/database/factories/PostFactory.php b/backend/database/factories/PostFactory.php index c757ab4..1b0555b 100644 --- a/backend/database/factories/PostFactory.php +++ b/backend/database/factories/PostFactory.php @@ -19,6 +19,7 @@ class PostFactory extends Factory return [ 'title' => fake()->sentence, 'description' => collect(fake()->paragraphs)->implode(' '), + 'user_id' => 1, ]; } } diff --git a/backend/database/migrations/2023_06_05_145153_create_posts_table.php b/backend/database/migrations/2023_06_05_145153_create_posts_table.php index e6735a2..cd3d24b 100644 --- a/backend/database/migrations/2023_06_05_145153_create_posts_table.php +++ b/backend/database/migrations/2023_06_05_145153_create_posts_table.php @@ -15,7 +15,7 @@ return new class extends Migration $table->id('sequence'); $table->uuid('id'); $table->string('title'); - // $table->foreignId('user_id')->constrained(table: 'user', column: 'id'); + $table->foreignId('user_id')->constrained(table: 'users', column: 'id'); $table->longText('description')->nullable(true); $table->timestamps(); });