我已经在我的项目中实现了https://gist.github.com/tonila/26f6a82c4dbe63d93b22ac67eaee2d6d
<- 这个自定义构建器,用于批量插入或更新数据。但它不可重复使用。如果我想再次将其用于其他控制器,我必须导入CustomBuilder
和CustomGrapher
类,并一次又一次地包含这 2 行。
$builder = new CustomBuilder(app('db')->connection(), new CustomGrammar());
$builder->from('some_items')->insertOrUpdate($request->all());
那么有什么方法可以全局注册它,以便我可以从任何模型调用它,例如Model::insertOrupdate()
或使用查询生成器,例如DB::table('table_name')->insertOrUpdate()
首先,你需要在 app 文件夹中创建一个目录,例如调用它Helpers
然后创建一个名为CustomBuilder.php
的新文件和另一个名为CustomGrammar.php
的新文件,然后将命名空间更改为AppHelpers
,最后在您的控制器中调用它。
$builder = new CustomBuilder(app('db')->connection(), new CustomGrammar());
$builder->from('some_items')->insertOrUpdate($request->all());