如果我创建了重复的帖子,我很抱歉。 我在使用db :: select。
查看数据时遇到问题这是我的完整sql语句[在mysql上按预期测试并返回值]
SELECT tugasan_kontrak.*,sejarah.tkh_wujud AS tkh_wujud ,sejarah.id_tindakan AS id_tindakan
FROM tugasan_kontrak
LEFT JOIN sejarah ON(
tugasan_kontrak.id_tugasan = sejarah.id_tugasan AND
jenis_tugasan='k' AND
sejarah.id_tindakan !='99' AND
id_sejarah = (SELECT MAX(id_sejarah) FROM sejarah WHERE
tugasan_kontrak.id_tugasan = sejarah.id_tugasan AND jenis_tugasan='k')
)
WHERE pegawai_tugas='890911105098' AND id_tindakan IS NOT NULL
https://github.com/eslint/eslint/issues/6505#issuecomment-282325903
但是当我尝试使用db :: select应用此语句时,没有记录被查看。
这里我用来测试的功能
public function getPenggunaTindakan($value='890911105098')
{
$kontrak = DB::select("select tugasan_kontrak.*,sejarah.tkh_wujud as tkh_wujud ,sejarah.id_tindakan as id_tindakan
from tugasan_kontrak left join sejarah on(tugasan_kontrak.id_tugasan = sejarah.id_tugasan and jenis_tugasan='k' and sejarah.id_tindakan !='99' and
id_sejarah = (select max(id_sejarah) from sejarah where tugasan_kontrak.id_tugasan = sejarah.id_tugasan and jenis_tugasan='k'))
where pegawai_tugas=:nokp and id_tindakan is not null ",['nokp' => $value]);
dd($kontrak);
}
抱歉我的英语不好。 希望任何人都可以建议我做错了什么。 谢谢先进
答案 0 :(得分:1)
尝试以下方法:
DB::select(DB::raw("select tugasan_kontrak.*,sejarah.tkh_wujud as tkh_wujud ,sejarah.id_tindakan as id_tindakan
from tugasan_kontrak left join sejarah on(tugasan_kontrak.id_tugasan = sejarah.id_tugasan and jenis_tugasan='k' and sejarah.id_tindakan !='99' and
id_sejarah = (select max(id_sejarah) from sejarah where tugasan_kontrak.id_tugasan = sejarah.id_tugasan and jenis_tugasan='k'))
where pegawai_tugas=:nokp and id_tindakan is not null "),['nokp' => $value]);
如果要注入sql查询,则必须在laravel中使用DB :: raw