faker 클래스를 사용하여 데이터베이스를 작성하는 데 도움이됩니다. DatabaseSeeder이laravel에 시드 할 때 대입 지정 오류
<?php
class DatabaseSeeder extends Seeder
{
public function run()
{
Eloquent::unguard();
$tables = [
'users',
'posts',
];
foreach ($tables as $table) {
DB::table($table)->truncate();
}
$this->call('UsersTableSeeder');
$this->call('PostsTableSeeder');
}
}
과 UsersTableSeeder
<?php
class UsersTableSeeder extends Seeder {
public function run()
{
$faker = Faker\Factory::create();
for($i=0 ; $i<50 ; $i++) {
$user = User::create([
'first_name' => $faker->firstName,
'surname' => $faker->lastName,
'email' => $faker->email,
'username' => $faker->userName,
'bio' => $faker->sentences,
'bio_html' => $faker->sentences,
'wesbite' => $faker->url,
'twitter' => $faker->word,
]);
}
}
}
나는 시도하고이 테이블 종자 때 터미널에서 다음과 같은 오류를 얻고있다처럼 보인다.
[Illuminate\Database\Eloquent\MassAssignmentException]
first_name
내가하려고하면 종자 나는
[ErrorException]
preg_replace(): Parameter mismatch, pattern is a string while replacement is an array
내가 Eloquent::unguard();
포함 생각이이 오류를 중지 얻을 모두? Laravel의 최신 버전을 실행하고 있습니다.
왜 'DatabaseSeeder' 클래스가'Eloquent :: unguarded()'를 호출하면이 솔루션이 도움이 될까요? – mike
그것은 나를 도왔습니다. 단일 시드를 사용하여 동일한 오류가 발생했습니다. – klauskpm