데이터베이스의 테이블에 데이터를 시드하려고하면 오류가 발생합니다. 나는 2 테이블을 가지고 : 저자과 책. 테이블은 ORM을 사용하여 관계를가집니다. 그러나, 내가하려고 할 때Laravel 5.3 시드 시드
: 네 자리가 데이터가 누락 찾을 수 없습니다PHP는 장인 마이그레이션을 사용하여 실행 : 새로 고침 --seed 나는이 오류가있어
을 .
그리고 여기 내 코드입니다
내 모델 "저자"
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Author extends Model
{
protected $fillable = ['name'];
public function books(){
return $this->hasMany('App\Book');
}
}
모델 "책"
<?php
use Illuminate\Database\Seeder;
use App\Author;
use App\Book;
class BooksSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$author1 = Author::create(['Muhammad Ariel Purnama']);
$author2 = Author::create(['Titania Eka Yuliandini']);
$author3 = Author::create(['Shikaku kookokokoko']);
$book1 = Book::create(['title' => 'goood boy', 'amount' => 3, 'author_id' => $author1->id]);
$book2 = Book::create(['title' => 'life observer', 'amount' => 4,'author_id' => $author2->id]);
$book3 = Book::create(['title' => 'Blekok Borokokko', 'amount' => 2, 'author_id' => $author3->id]);
}
}
: 씨 뿌리는 사람에 대한
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Book extends Model
{
protected $fillable = ['name','author_id','amount'];
public function author(){
return $this->belongsTo('App\Author');
}
}
내 코드
및 내 DatabaseSeeder 코드 :
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(PostsTableSeeder::class);
$this->call(UsersSeeder::class);
$this->call(BooksSeeder::class);
}
}
감사합니다.
확실히 말할 수는 없지만 작성자를 만들 때 배열에 키가 누락되었습니다. '$ author1 = Author :: create ([ 'name'=> 'Muhammad Ariel Purnama']); // etc.' –