我正在使用Lumen,并试图在Repository class中注入DatabaseManager,以在不支持DB
facade和Eloquent
的情况下运行一些查询。
我试着跟随。。。
use Illuminate'Database'DatabaseManager;
class Myclass
{
public function __construct(DatabaseManager $database)
{
$this->db = $database;
}
public function blah()
{
$this->db->connection()->table('table')->select('*');
}
}
但我得到了以下错误。。。
BindingResolutionException in Container.php line 823:
Unresolvable dependency resolving [Parameter #0 [ <required> $app ]] in class Illuminate'Database'DatabaseManager
最好的方法是什么。请提出建议。感谢
如果您想注入DatabaseManager
,那么您需要将其绑定到容器,以便它知道如何实例化它:
$app->alias('db', 'Illuminate'Database'DatabaseManager');
默认情况下,Lumen不会这样做,所以你必须在引导程序代码中手动执行。此命令通过服务定位器告诉IoC使用db
来解析Illuminate'Database'DatabaseManager
。
或者,您可以执行以下操作:
app()->make('db');