gpt4 book ai didi

php - 在 Repository 类中注入(inject) DatabaseManager

转载 作者:搜寻专家 更新时间:2023-10-31 21:58:40 24 4
gpt4 key购买 nike

我正在使用 Lumen 并尝试在 Repository 类中注入(inject) 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

执行此操作的最佳方法是什么。请建议。谢谢

最佳答案

如果你想注入(inject) DatabaseManager 那么你需要将它绑定(bind)到容器以便它知道如何实例化它:

$app->alias('db', 'Illuminate\Database\DatabaseManager');

默认情况下,Lumen 不会执行此操作,因此您必须在 Bootstrap 代码中的某处手动执行此操作。这告诉 IoC 通过服务定位器使用 db 解析 Illuminate\Database\DatabaseManager

或者,您可以执行以下操作:

app()->make('db');

关于php - 在 Repository 类中注入(inject) DatabaseManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31126388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com