i have a Seeder in Laravel
JavaScript
x
public function run()
{
$user = AppAdmin::create([
'first_name' => 'first',
'last_name' => 'last',
'phone' => '',
'email' => 'mail@gmail.com',
]);
}
in this email is unique,
JavaScript
php artisan db:seed
when I run first time its entering records into the database, when I run again its showing duplicate entry.
JavaScript
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'mail@gmail.com' for key 'email'
do i have option to ignore that.?
Advertisement
Answer
We have an option to check whether the given email exists in the table or not.
JavaScript
public function run(){
$admin = DB::table('admins')->where('email', '=', 'mail@gmail.com')->first();
if ($admin === null) {
// user doesn't exist
$user = AppAdmin::create([
'first_name' => 'Walter',
'last_name' => 'Brown',
'phone' => '',
'email' => 'admin@gmail.com',
'password' => Hash::make('Admin123'),
'is_active' => 1,
'remember_token' => str_random(10)
]);
}
}