i have a Seeder in Laravel
public function run() { $user = AppAdmin::create([ 'first_name' => 'first', 'last_name' => 'last', 'phone' => '', 'email' => 'mail@gmail.com', ]); }
in this email is unique,
php artisan db:seed
when I run first time its entering records into the database, when I run again its showing duplicate entry.
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.
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) ]); } }