cara menyimpan data di dua table

contoh di DB saya ada table A,B,AB, ketika saya input data di table A maka data tersebut juga akan tersimpan di table AB begitu juga dengan table B, kalo seperti itu bagaimana caranya ya gan? terima kasih sebelumnya, am beginner

avatar anang257
@anang257

16 Kontribusi 0 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

Ada 2 opsi yg bisa dilakukan via laravel

1. Pakai transaksi


DB::transaction(function () {
    DB::table('A')->insert(data);
    DB::table('B')->insert(data);
    DB::table('AB')->insert(data);
});

Laravel transaksi sudah otomatis commit query bila sukses, dan rollback bila ada error.

2. Pakai trigger via migration, kira2 seperti ini controllernya


DB::unprepared('
CREATE TRIGGER auto_insert AFTER INSERT ON `A` FOR EACH ROW
    BEGIN
        INSERT INTO B (`nama_kolom`) VALUES (data);
        INSERT INTO AB (`nama_kolom`) VALUES (data);
    END
');

Yang paling mudah menurut saya pakai transaksi.

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 7 tahun yang lalu

tapi kalau di database saya sudah ada triggernya berarti tinggal pake relationship eloquent kan gan?

avatar anang257
@anang257

16 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Yup betul

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 7 tahun yang lalu

makasih ya gan

avatar anang257
@anang257

16 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban