laravel - 我正在尝试使用 WhereAs 从两个带有 laravel 的表中获取记录
问题描述
我正在尝试从两个表中获取用户记录..销售表和用户表。
但是从 SALES 表中,我只想获取每个用户当月的销售额。
我已经从模型中合并了表,但是当我尝试使用此代码获取记录时,它会不断从 SALES 表中提取当前月份和上个月的销售额。
$myrecords = User::whereHas('sales', function($query) {
$query->whereMonth('sales.created_at', Carbon::now()->month);
})
->get();
请问我在这里做错了什么
解决方案
$users = User::whereHas('sales', function($query) {
$query->whereMonth('sales.created_at', Carbon::now()->month);
})->get();
这将获得上个月有销售的所有用户,所以如果你尝试说 ->with('sales'),它将获得上个月有销售的所有用户,以及他们曾经有过的所有其他销售。
如果您希望限制关系,则需要执行以下操作。
User::with(['sales' => function ($query) {
$query->whereMonth('created_at', Carbon::now()->month);
}])->get();
这将为您提供仅在本月发生销售的所有用户。
推荐阅读
- angular - Angular 6:在当前路线中搜索特定单词
- vue.js - 如果目标重定向解析为相同的路径,则不会调用 Vue 路由器 beforeEach
- outlook - 使用 InternetMessageId 获取 Exchange 在线消息详细信息
- ruby-on-rails - 使用 rails 和 apache 进行缓存的行为出乎意料。在 apache 重新启动之前,对布局的更改不会生效
- java - 在回收器中切换 AddToCart textview 的可见性会产生奇怪的行为
- jenkins - 只有 repo 被克隆,不执行代码
- android - ACTION_IMAGE_CAPTURE 意图:避免 Activity 被破坏/进程被杀死
- php - 需要 Xdebug 跟踪查看器
- wordpress - 从产品类别和发布类别查看相关产品
- windows - 任何 NTLM 哈希的两个组成部分