randomElement(['male', 'female']); // Generate multiple phones & emails $phones = [ $faker->phoneNumber, $faker->phoneNumber ]; $emails = [ $faker->unique()->safeEmail, $faker->unique()->safeEmail, ]; // Generate social media profiles (randomly leave some empty) $socialMedia = [ 'facebook' => $faker->boolean(70) ? $faker->url : null, 'instagram' => $faker->boolean(70) ? $faker->url : null, 'twitter' => $faker->boolean(70) ? $faker->url : null, 'linkedin' => $faker->boolean(50) ? $faker->url : null, ]; // Filter out null social media links $socialMedia = array_filter($socialMedia); Member::create([ 'name' => $faker->name($gender), 'picture' => $faker->imageUrl(400, 400, 'people'), // Random 400x400 image 'gender' => $gender, 'date_of_birth' => $faker->dateTimeBetween('-50 years', '-6 years')->format('Y-m-d'), // Age 6 to 50 years 'nationality' => $faker->country, 'weight' => $faker->randomFloat(2, 30, 120), // Between 30kg and 120kg 'height' => $faker->randomFloat(2, 140, 210), // Between 140cm and 210cm 'contact_info' => json_encode([ 'phones' => $phones, 'emails' => $emails, ]), 'social_media' => json_encode($socialMedia), // 'unique_id' will auto-generate via model observer ]); } } }