以前我能够正常显示数据,这里仍然没有任何过滤器,这是我的代码和结果。
代码:
$app = DB::select(DB::raw("
select
pel.id as id_pelamar,
nm_pelamar as nama_pelamar,
nm_rs as rumah_sakit,
nm_unit as unit,
nm_jabatan as jabatan,
pel.tgl_lahir as tgl_lahir,
his.status as status,
pel.tanggal_ins as tanggal
from (SELECT MAX(id) AS id_tr, id_pelamar FROM t_history_pelamar GROUP BY id_pelamar) x
inner join t_history_pelamar his on his.id=x.id_tr
right join t_pelamar pel on pel.id=his.id_pelamar
inner join m_rumah_sakit rs on rs.kd_rs=pel.kd_rs
inner join m_unit u on u.kd_unit=pel.kd_unit
inner join m_jabatan j on j.kd_jabatan=pel.kd_jabatan
"));
添加过滤器后,没有数据显示。
$nm_rs = '';
$from = '2020-04-01 00:00:00+07';
$until = '2020-05-01 024:00:00+07';
$name = '';
$app = DB::select(DB::raw("
select
pel.id as id_pelamar,
nm_pelamar as nama_pelamar,
nm_rs as rumah_sakit,
nm_unit as unit,
nm_jabatan as jabatan,
pel.tgl_lahir as tgl_lahir,
his.status as status,
pel.tanggal_ins as tanggal
from (SELECT MAX(id) AS id_tr, id_pelamar FROM t_history_pelamar GROUP BY id_pelamar) x
inner join t_history_pelamar his on his.id=x.id_tr
right join t_pelamar pel on pel.id=his.id_pelamar
inner join m_rumah_sakit rs on rs.kd_rs=pel.kd_rs
inner join m_unit u on u.kd_unit=pel.kd_unit
inner join m_jabatan j on j.kd_jabatan=pel.kd_jabatan
where
(nm_rs = :nm_rs) AND
(pel.tanggal_ins BETWEEN :from AND :until) AND
(nm_pelamar like :name)
"), ["nm_rs" => $nm_rs, "from" => $from, "until" => $until, "name" => "%".$name."%"]
);
return json_encode($app);
谢谢。
[已解决]
这里是我的代码:
$nm_rs = '';
$from = '2019-11-28';
$until = '2020-04-02';
$name = '';
$app = DB::select(DB::raw("
select
pel.id as id_pelamar,
nm_pelamar as nama_pelamar,
nm_rs as rumah_sakit,
nm_unit as unit,
nm_jabatan as jabatan,
pel.tgl_lahir as tgl_lahir,
his.status as status,
pel.tanggal_ins as tanggal
from (SELECT MAX(id) AS id_tr, id_pelamar FROM t_history_pelamar GROUP BY id_pelamar) x
inner join t_history_pelamar his on his.id=x.id_tr
right join t_pelamar pel on pel.id=his.id_pelamar
inner join m_rumah_sakit rs on rs.kd_rs=pel.kd_rs
inner join m_unit u on u.kd_unit=pel.kd_unit
inner join m_jabatan j on j.kd_jabatan=pel.kd_jabatan
where
(nm_rs like :nm_rs) AND
(pel.tanggal_ins::timestamp::date >= :from AND pel.tanggal_ins::timestamp::date <= :until) AND
(nm_pelamar like :name)
"), [
"nm_rs" => "%".$nm_rs."%",
"from" => "%".$from."%",
"until" => "%".$until."%",
"name" => "%".$name."%"
]);