Я создал триггерную миграцию в моем Laravel проекте на основе этого вопроса.
Миграция с именем 2020_04_15_142333_transaction_trigger.php
. Вот оно:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class TransactionTrigger extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB:unprepared('
CREATE TRIGGER trigger_Transaction_To_Detail AFTER INSERT ON `transaksis` FOR EACH ROW
BEGIN
INSERT INTO details (`transaksi_id`,`paket_id`,`qty`,`total_harga`,`keterangan`,`created_at`,`updated_at`)
VALUES (1,1, now(), null);
END
');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::unprepared('DROP TRIGGER `trigger_Transaction_To_Detail`');
}
}
Как вы можете видеть выше, я заполняю таблицу details
некоторыми значениями stati c, например (1, 1, now(), null)
. Есть ли способ заполнить триггерную таблицу некоторой переменной из контроллера.
Например, у меня есть переменные $transaksi_id
, $paket_id
, $qty
, $total_harga
и $keterangan
от контроллера с именем TransaksiController.php
. Каждая вышеприведенная переменная имеет свое собственное значение и теперь должна быть вставлена в триггер trigger_Transaction_To_Detail
.
Спасибо за вашу помощь!