2012-03-01 9 views
1

codeigniterのアクティブレコードを使用してクエリを作成しようとしていますが、ユーザーが入力できるカンマ区切りリストに基づいて検索が行われます。アクティブレコードを使用したクエリの作成

私はsepererate値として検索条件を取得する方法を知っている:

$criteria = explode($this->input->post('search_criteria');

私が知らない何かが、私は比較はに基づいて十分なを作成し、私のモデルでクエリを作成する方法であります基準の数。ユーザーは、私はこのようになりますクエリが必要になりますPHP, HTML, Project Management

を検索した場合

ので、例えば、

SELECT * FROM candidates WHERE candidate_job_tags LIKE %PHP% OR WHERE candidate_job_tags LIKE %HTML% OR WHERE candidate_job_tags LIKE %Project Management%

はこれを行うことができますか?

答えて

2

あなたは、クエリのその部分を構築するためにActive Record class "or_like()メソッドを使用することができます。

SELECT * FROM (`categories`) WHERE `category_title` LIKE '%PHP%' OR `category_title` LIKE '%HTML%' OR `category_title` LIKE '%Project Management%' 

// Assuming your array looks like something like this 
$criteria = array('PHP', 'HTML', 'Project Management'); 

foreach($criteria as $key=>$val){ 
    $this->db->or_like('candidate_job_tags', $val); 
} 

$query = $this->db->get('candidates'); 

はこのようなクエリを生成します

関連する問題