如何从具有特定值的变量和数据库中获取数据以将其计入laravel上的图表
Posted
技术标签:
【中文标题】如何从具有特定值的变量和数据库中获取数据以将其计入laravel上的图表【英文标题】:How to get data from variable and database with spesific value to count it into chart on laravel 【发布时间】:2022-01-05 06:53:17 【问题描述】:我想制作图表来计算来自 user_id 的数据摘要和一些值,例如我想计算多少 user_id 的值为 1 或 2?目标是我想将其可视化为图表。在此之前,我做了一个图表,但它计算了来自 user_id、peserta_id 和 kecamatan_id 的数据量。这是我在图表视图中使用的代码:
@php
$val = array($report->peserta_id,$report->user_id,$report->kecamatan_id);
$data = array_sum($val);
@endphp
...
@if(isset($jenispopuler->peserta_id))
@php($peserta_id = $jenispopuler->peserta_id)
@else
@php($peserta_id = 0)
@endif
@if(isset($jenispopuler->user_id))
@php($user_id = $jenispopuler->user_id)
@else
@php($user_id = 0)
@endif
@if(isset($jenispopuler->kecamatan_id))
@php($kecamatan_id = $jenispopuler->kecamatan_id)
@else
@php($kecamatan_id = 0)
@endif
...
series: [
name: 'Jumlah',
data: [$peserta_id, $user_id, $kecamatan_id]
]
这是我使用的控制器:
public function index()
$report = DB::table('transaksis')->whereYear('created_at', date('Y'))
->selectRaw("SUM(user_id) AS user_id, SUM(peserta_id) AS peserta_id, SUM(kecamatan_id) AS kecamatan_id")
->first();
$jenis = Jenis::select('id','jenis')->orderBy('id', 'DESC')->take(4)->get();
$jenispopuler = DB::table('transaksis')
->selectRaw('( SELECT COUNT(jenis_id) FROM transaksis WHERE jenis_id=1 ) AS user_id, ( SELECT COUNT(jenis_id) FROM transaksis WHERE jenis_id=2 ) AS peserta_id, ( SELECT COUNT(jenis_id) FROM transaksis WHERE jenis_id=3 ) AS kecamatan_id')
->groupBy('jenis_id')
->where(\DB::raw('DATE_FORMAT(transaksis.created_at, "%Y")'), '=', date('Y'))
->first();
return view('home', compact('report','jenispopuler','jenis'));
现在我对从同一个列表中获取数据或计算值感到困惑。我将把我的数据库图像和红色标记上的意思是我想要计算的数据/值(也许我的解释不清楚嘿嘿),提前致谢!
【问题讨论】:
【参考方案1】:$jenispopuler = DB::table('transaksis')->where('user_id','1')->count();
【讨论】:
以上是关于如何从具有特定值的变量和数据库中获取数据以将其计入laravel上的图表的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 getchar() 获取变量以将其值保留在简单的计算程序中
如何从对象数组中获取具有属性的列表,除非它包含具有特定值的另一个项目?