+1 vote
24 tayangan

Saya sedang membuat migration seeder dengan pada laravel 6.0. Terdapat 2 model yaitu 'user' dan 'question'. Satu user dapat membuat beberapa pertanyan, dan setiap pertanyaan harus memiliki satu userID. Tabel 'user' merupakan tabel standar bawaan laravel. Untuk tabel 'question' source code terlampir dibawah.

Pada seeder ini, saya menggunakan factory. Untuk sourcode factory sudah saya test menggunakan tinker dan sudah berjalan sesuai dengan yang saya harapkan. Berikut sourcecode yang sudah saya buat.

1. MigrasiTabelQuestions

2. User.php

3. Question.php


4. UserFactory.php

5. QuestionFactory.php

6. DatabaseSeeder,php

Ketika saya melakukan migrasi + seed, terdapat error
`
Illuminate\Database\QueryException  : SQLSTATE[HY000]: General error: 1215 Cannot add foreign key constraint (SQL: alter table `questions` add constraint `questions_user_id_foreign` foreign key (`user_id`) references `users` (`id`) on delete cascade)`

Apa yang menjadi kesalahan atau kekurangan dalam sourcecode saya?
Referensi yang saya gunakan https://laraveldaily.com/laravel-two-ways-seed-data-relationships/
dalam Laravel oleh  Berbageek Pemula (32 poin) | 24 tayangan

1 Jawaban

+2 vote
Jawaban terbaik
coba tipe data user_id nya di ubah ke unsignedBigInteger
oleh  Kawan Berbageek (156 poin)
dipilih oleh
nah ini bener,
letak kesalahannya bukan pada seeder nya, tapi pada migration nya

relasi di database harus mempunyai tipe yang sama,
jika di user menggunakan big integer, maka di Question juga menggunakan big integer
Selamat datang di Berbageek! Berbageek adalah tempat berbagi pengetahuan programming, ui/ux design, digital marketing & project management dengan konsep tanya-jawab. Sehingga kita bisa menciptakan solusi lebih cepat dan lebih baik. Berikut adalah rule untuk bertanya:
  1. Jangan duplikasi pertanyaan. Dicari dulu pertanyaan yang serupa.
  2. Buatlah pertanyaan yang generik. Tidak boleh bertanya spesifik menyebutkan nama proyek atau nama perusahaan.