在Laravel中查询graph

qmelpv7a  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(92)


我希望有人能帮助我。我遇到了一个非常复杂的Laravel查询,我不知道如何摆脱它。我的问题是,在数据库中,我想对一系列列进行分组,以便这些组的结果是唯一的,因为它们是重复的,并从属于这些组的其他列中选择数据。仓库列重复3次,我希望它只显示一次,在另一列中列出所有仓库审计日期,并在另一列中列出这些日期的结果。我这样写,但我没有得到结果。有没有人能帮我理解我做错了什么,非常感谢。我想得到一些图表。
查询方式:

$audit = DB::table('esiti_audit')->where('employee', $name)
        ->select('master_zone', 'subarea', 'microarea')        
        ->groupByRaw('master_zone,subarea,microarea')
        ->orderByDesc('data_audit')->select('data_audit', 'esito')
        ->get();
yhqotfr8

yhqotfr81#

按地区和天数构建您所需的结构:

$audits = DB::table('esiti_audit')->select([
    'master_zone', 'subarea', 'microarea',
    'data_audit', 'esito'
  ])
  ->where('employee', $name)
  ->orderByDesc('data_audit')
  ->get()->toArray();

$data = [];

foreach($audits as $audit) {
  // build this into a key or nested arrays, up to the use case
  $areaKey = "{$audit['master_zone']}|{$audit['subarea']}|{$audit['microarea']}";

  $data[$areaKey][] = [
    'status' => $audit['esito'],
    'date' => $audit['data_audit']
  ];
}

// pass $data to your view and loop as @foreach($data as $area => $audits)

相关问题