Я хочу сделать триггер. После создания php make:migration
AddTrigger и написания кода, когда я пишу php artisan migrate
в cmd, я получаю следующую ошибку:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError: синтаксическая ошибка,
неожиданный «получатель» (T_STRING), ожидающий «)» в проекте E: \ laravel
папка \ крови \ базы данных \ миграции \ 2019_06_14_173818_add_trigger.php: 16
12| * @return void
13| */
14| public function up()
15| {
> 16| DB::unprepared('CREATE TRIGGER amount AFTER INSERT ON 'receiver' FOR EACH ROW
17| BEGIN
18| INSERT INTO 'receipt' ('r_id') VALUES (10);
19| END');
20| }
Трассировка исключения:
1 Подсветка \ Файловая система \ Файловая система :: requireOnce ("E: \ laravel
проект
папка \ крови \ базы данных \ миграции / 2019_06_14_173818_add_trigger.php ")
E: \ папка проекта laravel \ blood \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Migrations \ Migrator.php: 475
2 Подсветка \ База данных \ Миграции \ Мигратор :: requireFiles ()
E: \ laravel project folder \ blood \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Migrations \ Migrator.php: 105
Пожалуйста, используйте аргумент -v, чтобы увидеть больше деталей.
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTrigger extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::unprepared('CREATE TRIGGER amount AFTER INSERT ON 'receiver' FOR
EACH ROW
BEGIN
INSERT INTO 'receipt' ('r_id') VALUES (10);
END');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
DB::unprepared('DROP TRIGGER 'amount'');
}
}
Я использовал контроллер с именем PageController, где я использовал функцию для вставки в приемник.