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

如何使用诸如“where”之类的雄辩方法从对象/集合中获取特定日期

萧升
2023-03-14

我想用chartjs在我的网站上实现一个图表。我正在尝试使用laravel,我用一个对象(提供者)和关系(产品、结果)创建了一个函数,我想对它进行过滤。我只想知道实际月份/实际年份的结果。所以我尝试了很多方法,但我无法提供简单、干净的代码解决方案。

我试过以下几件事:

  1. $providerResults-

也许使用filter()?

private function getResultsForChart($objProvider) {

    $providerResults = $objProvider
        ->where('id', AUTH::user()->provider_id)
        ->with('products')
        ->with('results')
        #->whereYear('created_at', 2019)
        #->whereMonth('created_at', 1)
        ->first()
    ;

    $providerResultsForChart = $providerResults->results->whereIn('created_at', 2019);

    dd($providerResultsForChart);

    return $providerResultsForChart;

}

我的预期结果将是我的收集只与实际月份/实际年份,而不是一切。

我希望有人能帮我一个提示或方向,我可以用它来解决我的问题。

提前非常感谢!

共有2个答案

陆涵畅
2023-03-14
$year = 2019;    
$providerResults = $objProvider
            ->where('id', AUTH::user()->provider_id)
            ->with(['products', 'results' => function ($q) use ($year) {$q->where('created_at', 'LIKE', $year.'%');}])
            ->first();

像这样试试<代码>$providerResults-

缑永年
2023-03-14

在以下条件下使用“急切加载”进行尝试:

$providerResults = $objProvider
        ->where('id', AUTH::user()->provider_id)
        ->with('products')
        ->with(['results' => function ($query) {
            $query->whereYear('created_at', 2019)
                  ->whereMonth('created_at', 1);
        }])
        ->first();
 类似资料:
  • 问题内容: 我有一个名为“ Test”的表,其中包含两个字段“ qnId”和“ Answers”。’qnId’存储一个uuid,’Answers’是一个jsonb数组,大致如下所示: 我该如何使用value来检索of的值。如何使用普通的SQL查询检索值 问题答案: 演示:db <>小提琴 您可以用来将数组元素扩展为每一行。之后,您可以使用运算符(文档)过滤正确的元素:

  • 假设我在表中有7列,我想只选择其中的两列,类似这样 在laravel雄辩的模型中,它可能是这样的 但我猜这个表达式将选择id等于1的所有列,我只需要两列(名称、姓氏)。如何只选择两列?

  • 我目前有API返回的以下json响应。我能用拉威尔的口才把它还给你。有几个用户,每个用户都有几个收据。收据具有类型和状态。我想尝试获取与类型和状态相关的每个收据的总金额。我能够使用 我尝试使用多个laravel集合方法https://laravel.com/docs/5.8/collections#available-methods但我仍然无法获得所需的响应。 我希望得到下面的答案

  • 问题内容: 我有一个JSON对象,其中有一个字段是生日日期: 但是该方法在JSONObject中不存在。 如何在用户对象中设置出生日期? 问题答案: 您可能会喜欢以下内容, 希望对您有所帮助:)

  • 问题内容: 假设您有一个Date对象,其中包含日,月和年值。 我想知道是几号。 我的意思是,例如3月5日是一年的65号。或者像1月15日是15日。 请不要乔达时间。(当前项目中未使用。) 问题答案: Calendar#get(Calendar.DAY_OF_YEAR);

  • 问题内容: 我试图在Eloquent和Laravel中找到一种优雅的方式来表达 在Eloquent中是否存在一个between运算符(我找不到它)。 我到目前为止最接近的是像这样链接我的查询 我还遇到了似乎可行的地方 是否有处理范围的实际口才方法(不是原始方法)? 问题答案: 在这里查看:http : //laravel.com/docs/4.2/queries#selects 对于Laravel

  • 问题内容: 如果我有一个水果列表,其中包含各种实现,如,等。该列表是必需的,因为其他方法会对列表中的所有水果执行常规操作。 如何将特定类型的所有对象从列表中删除?例如所有的苹果?进行instanceof / if-else检查非常难看,尤其是在有许多不同的类时。 如何改善以下内容? 问题答案: 您应该知道-实例是不好的代码实践。 编写.getType()(返回的对象的枚举类型)怎么办?

  • 我得到了响应从REST API到响应对象后,通过RestAsared API调用。 响应主体是json,我想从中获取特定的键值吗? 以下是代码 如何在字符串中获取特定的键值?