我与Query Builder一起在流明中使用存储库模式。存储库类通常如下所示:
<?php
namespace 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;
}
}
在每种方法的开头,是否有任何有效的方法来摆脱 use语句 use Illuminate \ Support \ Facades \ DB 我的存储库类?理想情况下,数据库外观将仅在web.php中可用。
到目前为止,我能想到的是使用use语句创建一个Repository基类。
答案 0 :(得分:1)
不,这就是PHP的工作方式。
您的替代方法是使用别名:
use DB;
或在呼叫之前加一个反斜杠,以便它出现在根名称空间中。
\DB::table('users');
答案 1 :(得分:0)
您可以将app()
帮助函数与'db'
service container binding key一起使用:
$data = app('db')->table('tableName')...->get();
它不需要任何use
语句。