因此,我有一个mongo数据库(共21k个输入),其中包含诸如action(有5种不同的action)id,时间等列。
我需要获取每个动作的名称,以及该动作发生了多少次。例如:USERPROPERTY_CHANGED-755
我在这里Laravel Eloquent groupBy() AND also return count of each group
中尝试了几乎所有东西然后,我尝试进行anothe收集,在其中我一个接一个地输入字段,然后获取它们,但是我的迁移看起来像这样:
<?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"}]
最终我想得到两个数组,一个数组带有动作名称,另一个数组带有该动作被调用的次数,以将其放入图表中。