我有兩個疑問:代碼點火器 - 刪除單引號where_in
$genres = $this->db->select('Group_Concat(intGenreId) strDJGenres')
->from('tblDJGenres')
->where('intDJId', $this->session->userdata('non_admin_userid'))
->get()
->row();
$results = $this->db->select('tblTracks.*, tblGenres.strName as strGenreName')
->from('tblTracks')
->join('tblGenres', 'tblTracks.intGenreId = tblGenres.intGenreId', 'left')
->where_in('tblTracks.intGenreId', $genres->strDJGenres)
->get()
->result();
第一個查詢返回一個字符串,如
「1,2,3,4,8,6 ,5,7,45,66'
這是我在第二個查詢的where_in子句中使用的。問題是,這個字符串,它是寫像SQL:
SELECT `tblTracks`.*, `tblGenres`.`strName` as strGenreName FROM (`tblTracks`) LEFT JOIN `tblGenres` ON `tblTracks`.`intGenreId` = `tblGenres`.`intGenreId` WHERE `tblTracks`.`intGenreId` IN ('1,2,3,4,8,6,5,7,45,66')
與周圍的報價,它被視爲一個單一的價值。我如何獲得第二個查詢來執行我想要的操作?即
.... where `tblTracks`.`intGenreId` IN (1,2,3,4,8,6,5,7,45,66)
您是否嘗試過使用的preg_replace和替換單引用沒有? – m79lkm 2013-04-05 14:27:22