일부 데이터를 mySql 데이터베이스로 가져 오려고합니다. 첫 번째 줄은 추가되지만 다른 줄은 추가되지 않습니다. 기본적으로 루프하지 않습니다 그래서이 없다는 오류를 보여줍니다PHP 장인 루핑 배열 오류
[Illuminate\Database\QueryException] SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry xxxxx
<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Artisan;
use Illuminate\Support\Facades\DB;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(xSeeder::class);
$this->call(xxSeeder::class);
Artisan::call('cache:clear', []);
}
}
그것은 아래에 표시되는 xSeeder와 "AA"를 실행 "는"데이터베이스에 업데이트됩니다. 그러나 "BB", "B"를 업데이트하지 않고 "AA", "a"를 다시 업데이트하려고합니다.
<?php
use App\Role;
use App\Permission;
use Illuminate\Database\Seeder;
class DepartmentSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
/** @var Roles */
$default_role_list = array(
0 => array("display_name"=>"AA","name"=>"a"),
1 => array("display_name"=>"BB","name"=>"b"),
2 => array("display_name"=>"CC","name"=>"c"),
);
$default_role_list_count =0;
foreach ($default_role_list as $role) {
Role::create(array(
'name' => $role[$default_role_list_count]['name'],
'display_name' => $role[$default_role_list_count]['display_name'],
));
$default_role_list_count++;
}
}
}?>
이 오류가 표시됩니다 :
[ErrorException] Undefined offset: 0
을 사용할 수있는'unique'이
나는 또 다른 코드를 시도 열에 대한 제약 조건. 역할의 존재를 확인해보십시오. 존재한다면'update'는'create'를 수행합니다. – Neverever