雄辩错误:尚未设置外观根

2024-01-13

我已经在 Slim Framework 2 中成功地使用 Eloquent 作为独立包。

但现在我想利用 Illuminate\Support\Facades\DB 因为我需要通过从 2 个表获取信息并使用数据库中的 Left Join 和 Counter 来显示一些统计信息,如下所示:

use Illuminate\Support\Facades\DB;
$projectsbyarea = DB::table('projects AS p')
        ->select(DB::raw('DISTINCT a.area, COUNT(a.area) AS Quantity'))
        ->leftJoin('areas AS a','p.area_id','=','a.id')
        ->where('p.status','in_process')
        ->where('a.area','<>','NULL')
        ->orderBy('p.area_id');

我收到以下错误:

Type: RuntimeException
Message: A facade root has not been set.
File: ...\vendor\illuminate\support\Facades\Facade.php
Line: 206

我该如何解决?

到目前为止我发现,在这个链接 https://github.com/nicolaslopezj/searchable/issues/86我需要创建一个新的应用程序容器,然后将其绑定到 Facade。但我还没有找到如何让它发挥作用。

这就是我开始余下的 Eloquent 并正常工作的方式:

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule();

$capsule->addConnection([
    'my'         =>  $app->config->get('settings'),
    /* more settings ...*/
]);

/*booting Eloquent*/
$capsule->bootEloquent();

我该如何解决?

Fixed正如@user5972059所说,我必须添加$capsule->setAsGlobal();//This is important to make work the DB (Capsule)就在上面$capsule->bootEloquent();

然后,查询像这样执行:

use Illuminate\Database\Capsule\Manager as Capsule;
$projectsbyarea = Capsule::table('projects AS p')
            ->select(DB::raw('DISTINCT a.area, COUNT(a.area) AS Quantity'))
            ->leftJoin('areas AS a','p.area_id','=','a.id')
            ->where('p.status','in_process')
            ->where('a.area','<>','NULL')
            ->orderBy('p.area_id')
            ->get();

您必须将代码更改为:

$Capsule = new Capsule;
$Capsule->addConnection(config::get('database'));
$Capsule->setAsGlobal();  //this is important
$Capsule->bootEloquent();

在类文件的开头,您必须导入:

use Illuminate\Database\Capsule\Manager as DB;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

雄辩错误:尚未设置外观根 的相关文章

  • 扩展 Eloquent 的类的构造函数

    我刚刚启动了一个新网站 我想使用 Eloquent 在为数据库播种的过程中 我注意到 如果我在扩展 eloquent 的模型上包含任何类型的构造函数 则会添加空行 例如 运行此播种器
  • Laravel - 缓存 Eloquent 并频繁更新

    是否可以对经常修改的对象使用缓存 例如 假设我们有一个 BlogPost 对象 并且有一个经常更改的 num of views 列 以及其他列 是否可以更新缓存和数据库中的 num of views 字段 而不破坏缓存对象并重新创建它 我可
  • 雄辩的 MYSQL 语句:WHERE NOT(A OR B)

    我正在开发日期范围重叠功能 可以用 13 个正条件编写该功能来检查日期间隔是否重叠 https en wikipedia org wiki Allen 27s interval algebra https en wikipedia org
  • 根据用户输入在 Laravel 中创建新表?

    我正在尝试根据 Laravel 框架中的用户输入创建新的 mysql 表 用户提交一个在控制器中处理的表单 保存表单数据 然后根据用户的输入创建一个新表 以便稍后接收数据 在 Laravel 中 可以使用 schema create 创建表
  • Laravel 从模型插入数百万数据库行

    我有一个文本文件 其中包含逗号分隔的值 表示字符串中每一行的数据集 它们大约有 200 万个 我想解析字符串 根据它们创建 Laravel 模型 并将每个模型作为一行存储在我的数据库中 此时 我有一个类逐行解析文件并为每个文件创建一个模型
  • Laravel Eloquent:计算总价的最佳方法

    我正在使用 Laravel 5 1 构建一个简单的买卖应用程序 每个Buy Model都有很多BuyDetail 里面存储了购买的商品数量和buy price 我已经在模型上实现了表之间的关系 class Buy extends Model
  • 需要在 Laravel 4 中的同一个表中设置一对多关系

    我有以下型号 类别
  • Laravel Eloquent - 附加与同步

    有什么区别attach and sync 在 Laravel 4 的 Eloquent ORM 中 我试图环顾四周 但什么也没找到 附 处理多对多关系时插入相关模型 不需要数组参数 Example user User find 1 user
  • Laravel Eloquent 在 with() 函数中使用别名

    再会 laravel 中使用 with 函数时是否可以使用别名 举个例子 posts Post where condition gt with user as friend gt get 简短的回答是否定的 但您可以定义与要使用的别名的关系
  • Laravel - 雄辩地覆盖自定义时间戳......为什么?

    我正在制作一个库存管理系统 当产品缺货时 我会在表中输入一个条目 并记下 oos at 字段和日期 时间 后来 当它回到库存时 我找到该条目并更新 restocked at 时间戳字段 但是 当我执行第二个操作时 我的 oos at 字段被
  • 此集合实例上不存在属性 [子类别]

    第一次与eloquent关系 我正在尝试访问subcategory method但我收到这个错误 此集合实例上不存在属性 子类别 Laravel 新手 因此任何帮助将不胜感激 blade table class table thead tr
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p
  • Laravel - 重复键批量插入更新大数据集

    我有大约 80k 条记录 每天需要多次运行插入 更新脚本 INSERT INTO my rankings id rank VALUES 1 100 2 99 3 102 80000 3 ON DUPLICATE KEY UPDATE ran
  • 我如何加入 Eloquent:关系?

    我的查询是这样的
  • Laravel Sum 列数据库 Eloquent

    尝试获取我的一个表中 int 字段的总和应该非常容易 不幸的是 事实并非如此 因为无论我使用 Laravel MySQL 还是 Excel 我都会得到不同的结果 Laravel 5 4 给了我20506 Table sum field na
  • Laravel 5 Eloquent 在多个级别上将关系附加到 JSON

    因此 在模型中包含关系非常容易 例如 class User extends Model protected with roles class Role extends Model protected with permissions 当有对
  • 如何在通过 Laravel Eloquent 方法连接的元素上使用 orderby

    问题是查询无法找到应该与 Laravel Eloquent 中的方法WITH 连接的特定方法 特定方法 特定模型 特定模型 特定方法等 有什么想法如何解决吗 我的代码 SpecificModel
  • Laravel Mongo 多对多关系在哪里不起作用

    我有两个以多对多关系相互关联的 mongo 文档 一个称为律师 另一个称为律师 我的律师模型有 public function cases return this gt belongsToMany App LawCase 我的 LawCas
  • Laravel 集合到数组

    我有两个模型 Post and Comment 许多评论属于一个帖子 我正在尝试以数组形式访问与帖子相关的所有评论 我有以下内容 它提供了一个集合 comments collection post gt comments gt get 我该
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R

随机推荐