データベースのテーブルにデータをシードしようとするとエラーが発生します。私は2つのテーブル:著者と本を持っています。テーブルはORMを使用してリレーションを持っています。しかし、私はLaravel 5.3シード化
PHPの職人の移行を使用して、それを実行しようとすると:
4桁は データが欠落見つかりませんでした:リフレッシュは、私はこのエラーを得た
を--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 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'); } }
シーダのための私のコード:
<?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]); } }
そしてここでは、私のコード
マイモデル "著者" であります
と私の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']); //等。 –