首页 > 解决方案 > 如何在laravel中显示这样的数据

问题描述

这个查询现在可以工作了。

$konfHistory = DB::table('t_history_cuti as hc')
        ->leftjoin('m_detail_organisasi as do', 'do.nik_staff', '=', 'hc.nik')
        ->join('m_karyawan as kary', 'kary.nik', '=', 'hc.nik')
        ->join('m_rumah_sakit as rs', 'rs.kd_rs', '=', 'kary.kd_rs')
        ->join('m_jabatan as jab', 'jab.kd_jabatan', '=', 'kary.kd_jabatan')
        ->join('m_unit as unit', 'unit.kd_unit', '=', 'kary.kd_unit')
        ->where('hc.kd_rs', $kdRS)
        ->where('do.koreksi', false)
        ->where('do.nik_penanggung_jawab', $nik)
        ->select('hc.*', 'kary.nik', 'kary.nm_karyawan', 'jab.nm_jabatan', 'rs.nm_rs', 'unit.nm_unit')
        ->get();

但我想显示来自 t_history_cuti 的所有数据,其中 status = '2' 也没有来自上述查询的重复数据。

这是上面数据的显示: 暂时显示数据

这是我想要的数据期望: 我的期望

非常感谢。

标签: postgresqllaravel-5laravel-5.8

解决方案


它解决了,使用联合。

$query = DB::table('t_history_cuti as hcU')
->join('m_karyawan as kary', 'kary.nik', '=', 'hcU.nik')
->join('m_rumah_sakit as rs', 'rs.kd_rs', '=', 'kary.kd_rs')
->join('m_jabatan as jab', 'jab.kd_jabatan', '=', 'kary.kd_jabatan')
->join('m_unit as unit', 'unit.kd_unit', '=', 'kary.kd_unit')
->select('hcU.*', 'kary.nik', 'kary.nm_karyawan', 'jab.nm_jabatan', 'rs.nm_rs', 'unit.nm_unit')
->where('hcU.kd_rs', $kdRS)
->where('hcU.status', '=', '2');

$konfHistory = DB::table('t_history_cuti as hc')
->leftjoin('m_detail_organisasi as do', 'do.nik_staff', '=', 'hc.nik')
->join('m_karyawan as kary', 'kary.nik', '=', 'hc.nik')
->join('m_rumah_sakit as rs', 'rs.kd_rs', '=', 'kary.kd_rs')
->join('m_jabatan as jab', 'jab.kd_jabatan', '=', 'kary.kd_jabatan')
->join('m_unit as unit', 'unit.kd_unit', '=', 'kary.kd_unit')
->where('hc.kd_rs', $kdRS)
->where('do.koreksi', false)
->where('do.nik_penanggung_jawab', $nik)
->select('hc.*', 'kary.nik', 'kary.nm_karyawan', 'jab.nm_jabatan', 'rs.nm_rs', 'unit.nm_unit')
->union($query)
->where('hc.nik', '!=', 'hcU.nik')
->get();

推荐阅读