How to add mysql trigger from migrations in Laravel 5?

By Hardik Savani | March 8, 2016 | | 7613 Viewer | Category : PHP Laravel MySql


Share this post:

Sometimes you require to add trigger in your mysql database of laravel 5. but you think how to create trigger using laravel migration because laravel not provide special function like insertTrigger and something so it problem to create direclty, But laravel DB::unprepared() through we can create trigger for database.

In Following example you can see how to create migration and create trigger code and how to write drop trigger code, so let's do it this way.

Create Migration:

php artisan make:migration add_trigger

Migration:

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class AddTrigger extends Migration

{

public function up()

{

DB::unprepared('CREATE TRIGGER add_Item_city AFTER INSERT ON `items` FOR EACH ROW

BEGIN

INSERT INTO `items_city` (`item_id`) VALUES (NEW.id);

END');

}

public function down()

{

DB::unprepared('DROP TRIGGER `add_Item_city`');

}

}

Run Migration:

php artisan migrate

Try this....