Build: Seeder for users and responses
This commit is contained in:
@@ -18,6 +18,8 @@ class DatabaseSeeder extends Seeder
|
||||
$this->call([
|
||||
RoleSeeder::class,
|
||||
DepartmentSeeder::class,
|
||||
UsersTableSeeder::class,
|
||||
ResponsesTableSeeder::class,
|
||||
]);
|
||||
|
||||
// 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