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



我将lumen中的存储库模式与查询生成器一起使用。存储库类通常如下所示:

<?php
namespace AppRepositories;
use IlluminateSupportFacadesDB;
class RepoNameRepository {
public function methodName() {
/* 
Various Calls to the DB facade...
$data = DB::table("tableName")...->get(); 
*/
return $data;
}   
}

有没有有效的方法来摆脱使用语句在我的每个存储库类的开头使用 Illuminate\Support\Facades\DB?理想情况下,数据库外观将按 Web .php中的原样提供。

到目前为止,我能想到的是拥有一个带有 use 语句的存储库基类。

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

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

use DB;

或者使用反斜杠为调用添加前缀,使其在根命名空间中查找。

DB::table('users');

可以将app()帮助程序函数与'db'服务容器绑定键一起使用:

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

它不需要任何use语句。

最新更新