当前位置: 首页 > 知识库问答 >
问题:

拉威尔:通过两个模型进行计数

何玉韵
2023-03-14

我有三个表,结算表有许多添加成员表,密码表有许多添加成员表。在结算和密码模型中,我将函数设置为:

public function members()
    {
        return $this->hasMany('App\AddMember');
    }

所以现在,当我需要计算add_members表中有多少行,但在结算表中有reon_id时,我是这样做的:

$first_count = Settlement::where('town_id', Auth::user()->town_id)
  ->with('members')
  ->where('reon_id', '1')
  ->count();

这是可行的,但现在我需要第二次计数,也就是计算结算表中reon_id==1的add_members行,但还有一个关系,其中cipher==0在ciphers表中。如果我通过AddMember模型处理belongsTo关系,我会得到错误:

(2/2)QueryException SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“reon_id”

$second_count = Settlement::where('town_id', Auth::user()->town_id)
      ->with('members')
      ->where('reon_id', '1')
      ->Cipher::with('members')
      ->where('cipher', '0')
      ->count();

我知道这一秒是错误的,但我不知道结算模型中的reon_id==1和密码模型中的cipher==0会有什么结果。。。

共有2个答案

鲁泰宁
2023-03-14

您是否尝试过这种方式,以便雄辩地知道哪个列在哪个表中?

$users = App\User::with(['posts' => function ($query) {
  $query->where('title', 'like', '%first%'); 
}])->get();

或键入有关列的其他Info,如下所示:

App\Book::with('author:id,name')->get();

更多信息请访问laravel文档

汪兴为
2023-03-14

Laravel关系表查询

$first_count = Settlement::where('town_id', Auth::user()->town_id)
  ->with(['members', function ($q) {
        $q->where('reon_id', 1);
}])->get();

或者

$first_count = Settlement::with('members')->where('town_id', Auth::user()->town_id)
  ->whereHas('members', function ($q) {
        $q->where('reon_id', 1);
})->get();
 类似资料:
  • 我正在使用这个库:https://github.com/davibennun/laravel-push-notification 用于发送推送通知。我使用了示例代码,我的iPhone上的推送消息正在工作。 现在我只想向多个设备发送一条消息。文件上说我需要使用: 但是我想从devicecollection上的数据库中得到一个foreach循环。我该怎么和拉威尔一起做?非常感谢!

  • 有办法覆盖Laravel中的GenericUser类吗? 当前身份验证使用GenericUser作为Auth::Operations的返回对象, 我希望它是我的用户类从我的模型。这是否可行呢?

  • 在我的观点中,我扩展了一个刀片模板,它充当我的主模板。我有一个ViewComposer设置,它为这个模板提供了许多变量。 我遇到了一种情况,需要在是启动函数的页面。 通过ViewComposer传递的变量是否达到初始视图的范围?或者我需要创建另一个ViewComposer来传递相同的变量。 这最终给了我一个未定义的变量错误。

  • 我目前正在研究构建SaaS构建管理工具。我想知道的是,如果我使用laravel passport作为api令牌,我如何为用户分配角色,例如: SuperAdmin:可以创建项目|可以创建新用户并为用户分配角色。 管理员:可以查看项目。 因为我希望能够根据用户权限隐藏前端上的元素。 例如,如果我使用传统的laravel应用程序,我可以使用委托和刀片指令@role('admin')来显示基于用户权限类

  • 我对拉威尔望远镜的部分有点困惑。 我有一个用户模型和表。 如何为用户分配用户、客户和/或管理员的角色。 我有一个带有vue和laravel api后端的水疗中心。我用https://laravel.com/docs/5.3/passport#consuming-使用javascript创建api 我如何分配哪个用户模型具有哪些作用域? 还是范围与角色不同? 您将如何实现这一点? 提前谢谢!

  • 我对Laravel截断的数据有一个小问题。我将传递给我的后端值,该值可以是表中定义的“百分比”或“金额”,但在表中也可以为null,但每次尝试将其设置为null时,都会出现如下错误: {"discount_currency":["您输入的值无效。"]} 或者当我从处理请求中删除enum时,它会说 所以我传递数据抛出API从我的Vue,这个婴儿车的请求看起来像: 所以如果我删除...我有第二个错误。

  • 我的情况是,我有帖子、用户和评论。 每个评论都存储一个post_id和一个user_id。我要做的是获取用户对特定帖子的所有评论,这样我就可以进行如下调用: (我知道x是什么) 我有: 我觉得需要有一个where或have或where have或是什么东西。。我能做的最好的事情就是拉Auth::User()-

  • 我正在构建一个Laravel web应用程序,其中我需要一个动态图像库,我构建了一个后端管理面板,可以在其中添加图像,我成功地将图像添加并保存到数据库中,但我无法编辑或删除它们。 错误是: UrlGenerationException中的ErrorException。php第17行:缺少[Route:galleries.update][URI:backend/galleries/{gallery}