Professional Documents
Culture Documents
Faker Broooooo
Faker Broooooo
Faker Broooooo
php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Faker\Factory;
if ($userType == 'admin') {
DB::table('admins')->insert([
[
'name' => DB::table('users')->where('id', $user)-
>value('name'),
'status' => $faker->randomElement(['admin', 'superadmin']),
'id_user' => $user,
],
]);
} elseif ($userType == 'dosen') {
$gelar = $faker->randomElement(['ST., MT', 'Ir., MT', 'SH., MH',
'SST., MT']);
$name = DB::table('users')->where('id', $user)->value('name') . ' '
. $gelar;
// Generate NIP 1
$nip1 = '';
for ($i = 0; $i < 18; $i++) {
$nip1 .= $faker->randomDigit;
}
// Check uniqueness of NIP 1
$existingNip1 = DB::table('dosens')->where('nip', $nip1)->exists();
while ($existingNip1) {
$nip1 = '';
for ($i = 0; $i < 18; $i++) {
$nip1 .= $faker->randomDigit;
}
$existingNip1 = DB::table('dosens')->where('nip', $nip1)-
>exists();
}
DB::table('dosens')->insert([
[
'nip' => $nip1,
'name' => $name,
'kode' => $faker->randomElement(str_split($alphabet, 1))
. $faker->randomElement(str_split($alphabet, 1))
. $faker->randomElement(str_split($alphabet, 1)),
'nidn' => $faker->unique()->randomNumber(9),
'jenis_kelamin' => $faker->randomElement(['laki-laki',
'perempuan']),
'id_user' => $user,
],
]);
} elseif ($userType == 'mahasiswa') {
$angkatan = $faker->randomElement([2016, 2017, 2018, 2019]);
DB::table('mahasiswas')->insert([
[
'nim' => $faker->unique()->randomNumber(9),
'name' => DB::table('users')->where('id', $user)-
>value('name'),
'angkatan' => $angkatan,
'jenis_kelamin' => $faker->randomElement(['laki-laki',
'perempuan']),
'status' => 'Aktif',
'id_user' => $user,
],
]);
} elseif ($userType == 'prodi') {
// Generate NIP 2
$nip2 = '';
for ($i = 0; $i < 18; $i++) {
$nip2 .= $faker->randomDigit;
}
// Check uniqueness of NIP 2
$existingNip2 = DB::table('dosens')->where('nip', $nip2)->exists();
while ($existingNip2) {
$nip2 = '';
for ($i = 0; $i < 18; $i++) {
$nip2 .= $faker->randomDigit;
}
$existingNip2 = DB::table('dosens')->where('nip', $nip2)-
>exists();
}
DB::table('dosens')->insert([
[
'nip' => $nip2,
'name' => DB::table('users')->where('id', $user)-
>value('name'),
'kode' => $faker->randomElement(str_split($alphabet, 1))
. $faker->randomElement(str_split($alphabet, 1))
. $faker->randomElement(str_split($alphabet, 1)),
'nidn' => $faker->unique()->randomNumber(9),
'jenis_kelamin' => $faker->randomElement(['laki-laki',
'perempuan']),
'id_user' => $user,
],
]);
/* super */
} elseif ($userType == 'admin' && in_array('superadmin', $adminTypes))
{
DB::table('admins')->insert([
[
'name' => DB::table('users')->where('id', $user)-
>value('name'),
'status' => 'superadmin',
'id_user' => $user,
],
]);
// Generate NIP 1
$nip1 = '';
for ($i = 0; $i < 18; $i++) {
$nip1 .= $faker->randomDigit;
}
// Check uniqueness of NIP 1
$existingNip1 = DB::table('dosens')->where('nip', $nip1)->exists();
while ($existingNip1) {
$nip1 = '';
for ($i = 0; $i < 18; $i++) {
$nip1 .= $faker->randomDigit;
}
$existingNip1 = DB::table('dosens')->where('nip', $nip1)-
>exists();
}
DB::table('dosens')->insert([
[
'nip' => $nip1,
'name' => $name,
'kode' => $faker->randomElement(str_split($alphabet, 1))
. $faker->randomElement(str_split($alphabet, 1))
. $faker->randomElement(str_split($alphabet, 1)),
'nidn' => $faker->unique()->randomNumber(9),
'jenis_kelamin' => $faker->randomElement(['laki-laki',
'perempuan']),
'id_user' => $user,
],
]);
DB::table('mahasiswas')->insert([
[
'nim' => $faker->unique()->randomNumber(9),
'name' => DB::table('users')->where('id', $user)-
>value('name'),
'angkatan' => $angkatan,
'jenis_kelamin' => $faker->randomElement(['laki-laki',
'perempuan']),
'status' => 'Aktif',
'id_user' => $user,
],
]);
}
}
}
}