在Laravel 5.1中全局注册自定义生成器



我已经在我的项目中实现了https://gist.github.com/tonila/26f6a82c4dbe63d93b22ac67eaee2d6d<- 这个自定义构建器,用于批量插入或更新数据。但它不可重复使用。如果我想再次将其用于其他控制器,我必须导入CustomBuilderCustomGrapher类,并一次又一次地包含这 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());

最新更新