为了账号安全,请及时绑定邮箱和手机立即绑定

摆脱在存储库类中使用 Illuminate\Support\Facades\DB 语句

摆脱在存储库类中使用 Illuminate\Support\Facades\DB 语句

PHP
青春有我 2021-12-03 19:28:37
我将 lumen 中的存储库模式与 Query Builder 一起使用。存储库类通常如下所示:<?phpnamespace App\Repositories;use Illuminate\Support\Facades\DB;class RepoNameRepository {    public function methodName() {        /*         Various Calls to the DB facade...        $data = DB::table("tableName")...->get();         */        return $data;    }   }有没有什么有效的方法可以摆脱 在我的每个存储库类的开头使用 Illuminate\Support\Facades\DB的use 语句 ?理想情况下,DB Facade 将在 web.php 中可用。到目前为止我能想到的是有一个带有 use 语句的 Repository 基类。
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

不,这就是 PHP 的工作方式。

您的替代方法是使用别名:

use DB;

或者在您的调用前加上反斜杠,使其在根命名空间中查找。

\DB::table('users');


查看完整回答
反对 回复 2021-12-03
?
月关宝盒

TA贡献1772条经验 获得超5个赞

您可以将app()辅助函数与'db' 服务容器绑定键一起使用

$data = app('db')->table('tableName')...->get();

它不需要任何use声明。


查看完整回答
反对 回复 2021-12-03
  • 2 回答
  • 0 关注
  • 514 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信