first commit
This commit is contained in:
46
laravel/database/seeders/DatabaseSeeder.php
Normal file
46
laravel/database/seeders/DatabaseSeeder.php
Normal file
@@ -0,0 +1,46 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Tag;
|
||||
use App\Models\Task;
|
||||
use App\Models\User;
|
||||
use DB;
|
||||
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
{
|
||||
use WithoutModelEvents;
|
||||
|
||||
/**
|
||||
* Seed the application's database.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
// User::factory(10)->create();
|
||||
User::truncate();
|
||||
|
||||
$this->prepareNewSeed();
|
||||
|
||||
User::factory()->create([
|
||||
'name' => 'Test User',
|
||||
'email' => 'test@example.com',
|
||||
]);
|
||||
|
||||
$this->call(TagSeeder::class);
|
||||
|
||||
$this->call(TaskSeeder::class);
|
||||
}
|
||||
|
||||
protected function prepareNewSeed(): void
|
||||
{
|
||||
DB::statement('SET FOREIGN_KEY_CHECKS=0');
|
||||
|
||||
DB::table('tag_task')->truncate();
|
||||
Tag::truncate();
|
||||
Task::truncate();
|
||||
|
||||
DB::statement('SET FOREIGN_KEY_CHECKS=1');
|
||||
}
|
||||
}
|
||||
17
laravel/database/seeders/TagSeeder.php
Normal file
17
laravel/database/seeders/TagSeeder.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Tag;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class TagSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
Tag::factory(15)->create();
|
||||
}
|
||||
}
|
||||
22
laravel/database/seeders/TaskSeeder.php
Normal file
22
laravel/database/seeders/TaskSeeder.php
Normal file
@@ -0,0 +1,22 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Tag;
|
||||
use App\Models\Task;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class TaskSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$tags = Tag::all();
|
||||
|
||||
Task::factory(25)->create()->each(function (Task $task) use ($tags) {
|
||||
$task->tags()->attach($tags->random(rand(2, 5))->pluck('id')->toArray());
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user