Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
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
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.
tapi kalau di database saya sudah ada triggernya berarti tinggal pake relationship eloquent kan gan?