私はCodeIgniterクエリービルダーを使用しています。私はそこにhaving句を追加したいと思います。 次のように私のコードが見えます: (私は、クエリの他の部分を省略):Codeigniter INステートメントでクエリービルダを持つクエリ
$this->db->having($filterarray);
と私は事前にこのようfilterarrayを構築:
$filterarray = array();
if (!empty($filters['interests'])) {
$interestids = $this->interests_model->getAllIdsByDescription($filters['interests']);
$filterarray['interests IN'] = $interestids;
}
My機能getAllIdsByDescriptionは次のようになります。
function getAllIdsByDescription($names){
$res = "(";
$query = $this->db->where_in('description', $names)
->select('interest_id')
->get($this->tableName);
foreach ($query->result() as $interestid) {
$res .= $interestid->interest_id;
$res .= ", ";
}
$res = substr($res, 0, -2);
$res .= ")";
return $res;
}
私のクエリは次のように解釈されるため、エラーが発生します:
HAVING interests IN '(7)'
(7)の周りの引用符を削除するにはどうすればよいですか?
'' '(7)' への関心を持っていることから
。クエリはIDの**リスト**のためのもので、コードで指定したものです。どのような「エラー」(または予期しない動作)が実際に表示されていますか? –
問題は '(7)'の周りの引用符でした。 PaulDの答えをFALSEで使って解決しました。 – Dennis