Выбор группы и размер каждой группы - PullRequest
1 голос
/ 14 июня 2019

Итак, у меня есть база данных mongo (21 тыс. Записей) с такими столбцами, как action (есть 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');
}
}

Но у сгенерированной коллекции было только одно поле - идентификатор.

Вот что-то, что работает (показывает, что он может работать с базой данных)

    Controller:

public function database_test()
{
 $actions = Action::groupBy('action')->get();

 return view('database_test',compact('actions'));
 }

view:

  {{$actions}}

output:

        [{"_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"}]

в конечном итоге я хочу получить два массива, один с именами действий, а другой с количеством раз, которое это действие было вызвано, чтобы поместить его в диаграмму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...