「キーワード」検索を試みています。フィールド ARTWORK_title と ARTWORK_keywords を見ています。ARTWORK_keywords フィールドは、ユーザーが複数のタグを入力して検索できる場所です。
クエリを作成しましたが、これが正しい方法だと感じていますが、DB クエリで ARTWORK_title が返されません。
私のPHP関数は次のとおりです....
$my_keywords = explode(",", $search_string);
$searchfields = array('ARTWORK_title', 'ARTWORK_keywords');
$this->db->select('*');
$this->db->from('artwork');
$this->db->where('ARTWORK_status', '1');
//$where_string = '(';
foreach($my_keywords as $keyword)
{
foreach($searchfields as $field)
{
$where_string = $field . ' LIKE \'%' . $keyword . '%\' ';
}
//$where_string .= substr($where_string, 4) . ')';
$this->db->where($where_string);
}
ただし、SQL クエリをプロファイリングすると、次の MySQL クエリが返されます....
SELECT * FROM (
artwork
) WHEREARTWORK_status
= '1' ANDARTWORK_keywords
LIKE '%Blue%' ANDARTWORK_keywords
LIKE '%Orange%'
クエリで ARTWORK_title フィールドをまったく取得していません。
私が間違っているアイデアはありますか?
よろしくお願いします。