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

Laravel计数结果基于特定的值

万俟渊
2023-03-14

我有一个简单的问题:

$events = EventHistory::where('u_h_id', $id)
                      ->where('has_read', 0)
                      ->get(['event_type']);

这将返回如下结果:

[
{
event_type: 1
},
{
event_type: 2
},
{
event_type: 2
},
{
event_type: 4
},
{
event_type: 6
},
{
event_type: 1
},
{
event_type: 3
},
{
event_type: 1
},
{
event_type: 4
},
{
event_type: 1
},
{
event_type: 4
},
{
event_type: 4
}]

但是现在我需要一种计算特定值的方法,这样我就可以返回不同事件类型中存在的许多结果

根据上面的结果,我想返回

$type1 = 4;
$type2 = 2;
$type3 = 1;
$type4 = 4;
$type6 = 1;

有4个结果的event_type值为1等。

共有2个答案

颛孙沈义
2023-03-14

让它使用这个工作:

$events = EventHistory::where('u_h_id', $id)
    ->where('has_read', 0)
    ->select('event_type', \DB::raw('count(*) as count'))
    ->groupBy('event_type')
    ->get();
谷梁德容
2023-03-14

虚拟的方法是使用foreach

$result = [];
foreach($events as $key => $value) {
    $result[$value['event_type']] = isset($result[$value['event_type']]) ? $result[$value['event_type']]+1 : 1;
}

// now you have indexed array $result with the desired output

http://sandbox.onlinephpfunctions.com/code/b49150f192b99b218708d5dd8037fe5a23457a79

 类似资料:
  • 我已经在我的Laravel应用程序中实现了ZendSearch。我使用它作为我的搜索引擎,用户将键入一个搜索词,然后将返回一个按相关性排序的结果数组。但是,返回的数组只返回我的记录ID(它不返回任何实际的记录信息)。 接下来查询我的模型以基于数组结果检索结果的正确方法是什么?该数组结果只是一个基于相关性排序的ID数组。 我知道会返回ID为1的记录,但我如何向方法提供我希望按给定顺序返回的ID数组。

  • 本文向大家介绍基于python检查矩阵计算结果,包括了基于python检查矩阵计算结果的使用技巧和注意事项,需要的朋友参考一下 鉴于最近复习线性代数计算量较大,且1800答案常常忽略一些逆阵、行列式的计算答案,故用Python写出矩阵的简单计算程序,便于检查出错的步骤。 1、行列式 可自行更改阶数 2、矩阵相乘 注意要内标相同 3、逆矩阵 自行判断|A|≠0,这里 A∗ = A−1 · |A| 以

  • 导入java.util.Scanner;公共类GroupActivity{公共静态void main()

  • 考虑以下数据帧: 使用dplyr,我如何在每一列(不隐式命名)上筛选所有大于2的值。 模拟假设的

  • 获取此代码时出错,如何获取结果employee type-wise串联用户名 预期结果集

  • 问题内容: 考虑以下MySQL查询: …如何保证行集按照提供给子句的值的确切顺序排好序?我猜想如果不给它一个子句就无法保证,对吗? PS .: 子句 的值将是由PHP以以下方式(使用Zend Framework的select语句)传递给查询的任意数据的数组: 问题答案: 在ORDER BY中使用CASE语句: 根据需要分配任意值。我通常不包括在内,因为如果未定义则暗含它,但我想明确表示,以备不时之