relasi antar table pada laravel


 public function up()
{
      Schema::create('profiles', function (Blueprint $table) {
          $table->increments('id');
          $table->string('nama', 100);
          $table->enum('jenis_kelamin', ['laki-laki', 'perempuan']);
          $table->string('alamat');
          $table->char('no_telp', 20);
          $table->integer('user_id')->unsigned(); //ini apa ya? gimana cara ngebacanya?
          $table->timestamps();

          $table->foreign('user_id') // dan ini juga hmm
                ->references('id')
                ->on('users')
                ->onUpdate('cascade')
                ->onDelete('cascade');
      });
}

avatar fatahillah
@fatahillah

12 Kontribusi 2 Poin

Diperbarui 7 tahun yang lalu

5 Jawaban:

$table->integer('user_id')->unsigned()?

itu kayanya salah deklarasinya deh, setahu ane harus begini:

$table->integer('id_user_fk')->nullable()->comment("id user FK");

jgn di jadiin unsigned mending jadi foreign key, kalo unsigned gmn mau ngambil data dari users? Dan semua di jadiin nullable aja kecuali id increments, biar nanti di bagian model bisa dikasih validasi

contoh: $table->increments('id'); $table->string('nama',100)->nullable(); note: diujungnya dikasih "nullable" atau "kosong", biar nanti waktu diisi di form input gak ada yang error tapi harus kasih validasi di model ya, agar mencegah miss penginputan

avatar adiru18
@adiru18

11 Kontribusi 4 Poin

Dipost 7 tahun yang lalu

owhh gitu ya gan... makasih ya... code di atas bukan punya saya gan... saya nyomot punya orang.... saya ga bisa baca code tersebut... mangkanya bertanya... dan maaf... soal jawaban agan pun saya kaga paham hmm... terima kasih tanggapannya :D

avatar fatahillah
@fatahillah

12 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

hahaha sama2 gan, intinya banyak2 bertanya dan mencari referensi lebih lanjut.

avatar adiru18
@adiru18

11 Kontribusi 4 Poin

Dipost 7 tahun yang lalu

Jawaban Terpilih

 $table->integer('user_id')->unsigned(); // artinya kolom pada user_id tidak boleh kosong.
$table->foreign('user_id') // untuk menentukan foreign key-nya
      ->references('id') // untuk menentukan referensinya
      ->on('users') // untuk menentukan id dari tabelnya
      ->onUpdate('cascade') // saat user di update maka akan mengikuti user
      ->onDelete('cascade'); // saat user di hapus maka akan ikut terhapus

Note : pastikan table user telah ada pada database nya

avatar sptndc
@sptndc

247 Kontribusi 59 Poin

Dipost 7 tahun yang lalu

makasih agan agan semua :D

avatar fatahillah
@fatahillah

12 Kontribusi 2 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban