我目前正在使用chartTV创建图表,但由于某种原因,我的图表似乎没有出现在我的刀片中,标题可以看到但不是图表。我想创建一个areapline图表,它将显示本周雇佣和未雇用的人数。我尝试过这样的事情,但是没有用。有人可以指导我正确地做到这一点吗?我该怎么办?
我的 dashboardController :
$user1s = DB::table('evaluations')
->select('evaluations.Evaluation_Status','evaluations.created_at' )
->where('Evaluation_Status', '=', 'No')
->get();
$user2s = DB::table('evaluations')
->select('evaluations.Evaluation_Status','evaluations.created_at' )
->where('evaluations.Evaluation_Status', '=', 'Yes')
->get();
Charts::Database($user1s, $user2s, 'areaspline', 'highcharts')
->title('My nice chart')
->labels(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday','Saturday', 'Sunday'])
->dataset('Hired', [$user1s])
->dataset('Not Hired', [$user2s]);
return view('dashboard', ['chart' => $chart]);
我的 dashboard.blade.php
{!! Charts::assets() !!}
{!! $chart->render() !!}
答案 0 :(得分:1)
如果使用来自不同数据库表的数据,则可以使用多数据库图表。 API类似于Charts :: multi。唯一的区别是如何指定数据集。
$charts = Charts::multiDatabase('areaspline', 'highcharts')
->title('My nice chart')
->colors(['#ff0000', '#ffffff'])
->labels(['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday','Saturday', 'Sunday'])
->dataset('Hired', $user1s)
->dataset('Not Hired', $user2s);
答案 1 :(得分:0)
我认为问题是这两行:
->dataset('Hired', [$user1s])
->dataset('Not Hired', [$user2s]);
$user1s
和$user2s
都是数组。由于两个数组都包含对象,因此您可能还必须将它们映射到标量值(数字或字符串)以获取要使用的值。
所以你可以做这样的事情,如果你想映射名字:
$hiredUsernames = array_map(
function ($user) {
return $user->name;
},
$user1s
);
// The result will be something like: ['Max', 'Jane', ...]
->dataset('Hired', $hiredUsernames)