这篇文章是为了通知和提问。大家好,我正在开发一个可以很好地使用触发器的大型系统。我们目前使用 phpmyadmin 在 Laravel 5.2 和 php 7 上运行服务器端。在 Laravel 中,并没有关于如何通过迁移使用触发器的可靠文档,而且我发现您大多必须“原始”地进行操作。
下面是一个我知道的关于如何在迁移中编写触发器的简单示例:
class CreateAccountTriggerTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
DB::unprepared('
CREATE TRIGGER `my_trigger_name` AFTER INSERT ON `table_the_change_happened`
FOR EACH ROW
BEGIN
INSERT INTO `this_table`
(field1,field2,field3)
VALUES
('value1','value2','value3')
END
');
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down() {
DB::unprepared('DROP TRIGGER IF EXISTS `my_trigger_name`');
}
}
问题: 有人知道在 laravel 的查询构建器中使用变量的干净方法吗?
DB::unprepared() 方法不允许您将绑定的项目附加到它。在 Eloquent 中尝试它几乎是不可能的,因为我没有为这个问题找到可靠的文档。如果有人能详细说明这一点,我将不胜感激。先感谢您
这里的更新 每个请求将是我在 laravel 的查询构建器中使用变量的意思的一个例子:
$stuff = bcrypt($random_numbers);
DB::unprepared('
CREATE TRIGGER `my_trigger_name` AFTER INSERT ON `table_the_change_happened`
FOR EACH ROW
BEGIN
INSERT INTO `this_table`
(field1,field2,field3)
VALUES
('value1','value2','value3',"$stuff")
END
');