Build: Seeder for users and responses
This commit is contained in:
@@ -18,6 +18,8 @@ class DatabaseSeeder extends Seeder
|
|||||||
$this->call([
|
$this->call([
|
||||||
RoleSeeder::class,
|
RoleSeeder::class,
|
||||||
DepartmentSeeder::class,
|
DepartmentSeeder::class,
|
||||||
|
UsersTableSeeder::class,
|
||||||
|
ResponsesTableSeeder::class,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// User::factory()->create([
|
// User::factory()->create([
|
||||||
|
|||||||
52
database/seeders/ResponsesTableSeeder.php
Normal file
52
database/seeders/ResponsesTableSeeder.php
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use App\Models\Response;
|
||||||
|
use Carbon\Carbon;
|
||||||
|
|
||||||
|
class ResponsesTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
// Example data for random selection
|
||||||
|
$titles = ['AI Workshop', 'Cloud Computing', 'Cybersecurity Basics', 'Data Analytics', 'Machine Learning', 'Blockchain Essentials'];
|
||||||
|
$organizingInstitutes = ['Google', 'Microsoft', 'Amazon', 'IBM', 'Oracle'];
|
||||||
|
$addresses = ['New York, USA', 'London, UK', 'Mumbai, India', 'Berlin, Germany', 'Tokyo, Japan'];
|
||||||
|
$activityTypes = ['GL', 'IC', 'STTP'];
|
||||||
|
$categories = ['Technical', 'Social', 'Entrepreneurial', 'Life Skill'];
|
||||||
|
$levels = ['College', 'State', 'National', 'International'];
|
||||||
|
|
||||||
|
// Number of responses to seed
|
||||||
|
$numberOfResponses = 10;
|
||||||
|
|
||||||
|
for ($i = 1; $i <= $numberOfResponses; $i++) {
|
||||||
|
// Generate random start and end dates
|
||||||
|
$startDate = Carbon::now()->subDays(rand(1, 30))->addHours(rand(0, 23))->addMinutes(rand(0, 59));
|
||||||
|
$endDate = (clone $startDate)->addDays(rand(0, 3))->addHours(rand(0, 23))->addMinutes(rand(0, 59));
|
||||||
|
$numDays = $startDate->diffInDays($endDate) ?: 1;
|
||||||
|
|
||||||
|
// Create the response record
|
||||||
|
Response::create([
|
||||||
|
'title' => $titles[array_rand($titles)], // Random title
|
||||||
|
'organising_institute' => $organizingInstitutes[array_rand($organizingInstitutes)], // Random organization
|
||||||
|
'address' => $addresses[array_rand($addresses)], // Random address
|
||||||
|
'department_id' => rand(1, 5), // Random department ID
|
||||||
|
'faculty_id' => rand(1, 3), // Random faculty ID
|
||||||
|
'start_date' => $startDate->format('Y-m-d H:i:s'), // Start date and time
|
||||||
|
'end_date' => $endDate->format('Y-m-d H:i:s'), // End date and time
|
||||||
|
'num_days' => $numDays, // Number of days
|
||||||
|
'activity_type' => $activityTypes[array_rand($activityTypes)], // Random activity type
|
||||||
|
'category' => $categories[array_rand($categories)], // Random category
|
||||||
|
'level' => $levels[array_rand($levels)], // Random level
|
||||||
|
'proof' => null, // Null for proof
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
34
database/seeders/UsersTableSeeder.php
Normal file
34
database/seeders/UsersTableSeeder.php
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
use App\Models\User;
|
||||||
|
|
||||||
|
class UsersTableSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
// Number of users to seed
|
||||||
|
$numberOfUsers = 2;
|
||||||
|
|
||||||
|
for ($i = 1; $i <= $numberOfUsers; $i++) {
|
||||||
|
User::create([
|
||||||
|
'role_id' => 3, // Default role
|
||||||
|
'department_id' => rand(1, 5), // Random department between 1 and 5
|
||||||
|
'name' => 'User ' . $i, // Unique name
|
||||||
|
'email' => 'user' . $i . '@example.com', // Unique email
|
||||||
|
'email_verified_at' => null, // Email not verified
|
||||||
|
'password' => Hash::make('password123'), // Default hashed password
|
||||||
|
'remember_token' => null, // Null for remember token
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user