Laravel - db:seed gagal

ini kenapa tiap kali db:seed kok gagal mulu ya.

Output

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'test.jenis__kelamins' doesn't exist (SQL: insert into `jenis__kelamins` (`jenis_kelamin`, `updated_at`, `created_at`) values (Laki-laki, 2022-11-08 03:23:47, 2022-11-08 03:23:47))

Migrations

public function up()
    {
        Schema::create('jenis_kelamin', function (Blueprint $table) {
            $table->id();
            $table->string('jenis_kelamin');
        });
    }

public function down()
    {
        Schema::dropIfExists('jenis_kelamin');
    }

DatabaseSeeder

protected $input_jenis_kelamin = [
        ['jenis_kelamin' => 'Laki-laki'],
        ['jenis_kelamin' => 'Perempuan']
    ];

public function run()
    {
       foreach ($this->input_jenis_kelamin as $jenis_kelamin) {
            Jenis_Kelamin::create($jenis_kelamin);
       }
}

Model Jenis_Kelamin

protected $fillable = [
        'jenis_kelamin'
    ];
avatar taraniskai13
@taraniskai13

16 Kontribusi 15 Poin

Diperbarui 2 tahun yang lalu

2 Jawaban:

<pre>jenis__kelamins doesn't exists </pre><div>artinya table ini tidak tersedia di database kamu<br><br></div>

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 2 tahun yang lalu

Tanggapan

Kalo itu sih ane paham gan, masalahnya kenapa bisa berubah jadi "jenis__kelamins" setelah run "php artisan db:seed", padahal di migrations file ane nulis "jenis_kelamin", trus hasil di mysql juga munculnya "jenis_kelamin".

Laravel punya "convention" untuk nama, salah satunya dia mengubah singular jadi plural untuk nama table. Karena itu dia mengasumsikan nama table kamu, jika berbeda dari conventions, perlu deklarasi seperti jawaban di bawah.

Jawaban Terpilih

<div>Sudah ketemu, cuma tambahin protected $table di model</div><pre>protected $table = 'jenis_kelamin' protected $fillable = [ 'jenis_kelamin' ];</pre>

avatar taraniskai13
@taraniskai13

16 Kontribusi 15 Poin

Dipost 2 tahun yang lalu

Tanggapan

terima kasih sudah share jawabannya

Login untuk ikut Jawaban