laravel - 获取组和每个组的大小
问题描述
所以,我有一个 mongo 数据库填充(21k 个输入),其中包含操作(有 5 个不同的操作)id、时间等列。
我需要获取每个动作的名称,以及该动作发生了多少次。例如:USERPROPERTY_CHANGED - 755
我已经在这里尝试了Laravel Eloquent groupBy() 中的几乎所有内容,并且还返回了每个组的计数
然后我尝试制作另一个集合,我在其中输入字段一个,一个,然后获取它们,但我的迁移看起来像这样:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class actionPopularity extends Migration
{
public function up()
{
Schema::create('actionPopularity', function (Blueprint
$collection) {
$collection->Increments('id');
$collection->string('action');
$collection->integer('count');
});
}
public function down()
{
Schema::dropIfExists('actionPopularity');
}
}
但是这个生成的集合只有一个字段——id。
这是一种有效的方法(它表明它可以与数据库一起使用)
Controller:
public function database_test()
{
$actions = Action::groupBy('action')->get();
return view('database_test',compact('actions'));
}
看法:
{{$actions}}
输出:
[{"_id":
{"action":"OBJECT_INSERT"},"action":"OBJECT_INSERT"},
{"_id":
{"action":"OBJECT_MODIFY"},"action":"OBJECT_MODIFY"},
{"_id":
{"action":"null"},"action":"null"},{"_id":
{"action":"USERPROPERTY_CHANGED"},"action":"USERPROPERTY_CHANGED"},
{"_id":{"action":"OBJECT_DELETE"},"action":"OBJECT_DELETE"}]
最终我想得到两个数组,一个带有动作名称,另一个带有该动作被调用的次数,将其放入图表中。
解决方案
推荐阅读
- angular - 将提供者范围限制为组件
- c# - 如果文本文件已经打开,如何避免异常
- c++ - C++ - 使用向量或链表?
- vercel - Vercel 在 api 中获取 DELETE 请求超时
- three.js - ThreeJS 相关。是什么导致 GPU 过载?空闲时间很多但是帧率很低
- azure - Azure Functions 上的 VCRedist 2015+
- javascript - Wordpress 插件中“XXX.min.js”文件的意义
- php - 从 JSON 数据中获取特定值
- visual-studio-code - 保存时运行命令,仅当调试处于活动状态时
- c# - 如何禁用剃刀页面中的面包屑?