【发布时间】:2014-12-10 21:13:26
【问题描述】:
我已经通过迁移创建了 MySQL 存储过程,它工作得很好。
DB::unprepared('
CREATE PROCEDURE sp_Create_Default_Task_1(IN _kid_id INT)
BEGIN
INSERT INTO tasks (kid_id, name) VALUES (_kid_id, \'daily\');
END'
);
此后我尝试使用以下代码创建 MySQL 触发器
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateTrigger extends Migration {
public function up()
{
DB::unprepared('
CREATE TRIGGER tr_Task_Default AFTER INSERT ON `kids` FOR EACH ROW
INSERT INTO tasks (`kid_id`, `name`) VALUES (NEW.id, \'Default\');
');
}
public function down()
{
DB::unprepared('DROP TRIGGER `tr_User_Default_Member_Role`');
}
}
但是在我运行php artisan migrate后它返回错误
{"error":{"type":
"Symfony\\Component\\Debug\\Exception\\FatalErrorException",
"message":"Class 'CreateTriggers' not found",
"file":"C:\\xampp\\htdocs\\dev03\\vendor\\laravel\\framework
\\src\\Illuminate\\Database\\Migrations\\Migrator.php",
"line":301}}
问题:出了什么问题?
【问题讨论】:
-
发布整个文件。看起来你的班级名称有误?
-
我现在已经解决了,谢谢这是类名的问题
标签: php laravel laravel-5 triggers migration