Laravel收集到阵列

问题描述 投票:2回答:1

我尝试将我的产品访问次数放入图表中,我可以像google-analytic一样显示它

example

Product1   200 visits
product5   30 visits
product10  47visits

现在我正在使用的图表是this package

Here is my chart code:

$chartjson = Pagevisit::all()->toJson();
  $chartjsontitle =
      DB::table('products')
      ->join('page-visits', function ($join) {
          $join->on('products.id', '=', 'page-visits.visitable_id');
      })->get();
$value = collect($chartjsontitle)->toArray();

$chart4 = Charts::database($chartjson, 'bar', 'highcharts')
         ->elementLabel("Total")
         ->dimensions(1000, 500)
         ->responsive(false)
         ->values('visitable_id')
         ->labels($value);

正如你所看到的,我的访问次数将保存在page-visits表中,我想要做的是在我的图表中获得计数,并作为标签获得产品标题。

进展:

  • 我已经完成了我的访问计数

$ chartjson = Pagevisit :: all() - > toJson(); // .... - > values('visitable_id')

  • 我无法将我的产品标题作为这些计数的标签。

我目前得到的错误是:

array_push()期望参数1为数组,给定字符串

UPDATE

我设法获得了我的信息+他们的头衔

screenshot

Here is the code

$chartjson = Pagevisit::all()->pluck('visitable_id')->toArray();
      $chartjsontitle =
          DB::table('products')
          ->join('page-visits', function ($join) {
              $join->on('products.id', '=', 'page-visits.visitable_id');
          })->pluck('title')->toArray();

      $chart4 = Charts::database($chartjson, 'bar', 'highcharts')
         ->elementLabel("Total")
         ->dimensions(1000, 500)
         ->responsive(false)
         ->values($chartjson)
         ->labels($chartjsontitle);

ISSUE

我有2个产品有访问计数,但正如你看到的每个计数我有一个酒吧,除了1巴所有计数。

  • 例如:标题为product1的1个栏和11个访问次数,但现在我有11个标题为product1的栏
php laravel
1个回答
0
投票

SOLVED (in different way)

好吧,我放弃了这个问题的图表,并决定使用列表对象,这里是解决方案Get value with max amount in Laravel

© www.soinside.com 2019 - 2024. All rights reserved.