活动记录WHERE查询未获取字段


Active Record WHERE Query not getting a field

我正在尝试"关键字"搜索。我正在查找字段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查询。。。。

选择*来自(artwork)其中ARTWORK_status='1'与ARTWORK_keywords类似"%Blue%"与ARTWORK_keywords类似"%Orange%"

它只是根本没有得到查询中的ARTWORK_title字段。

你知道我哪里错了吗?

非常感谢。

每次迭代都会擦除$where_string值。

修改如下:

$where_string = '';    
$counter = 0;
foreach($my_keywords as $keyword)
{
    foreach($searchfields as $field)
    {
        if ($counter > 0) {
           $where_string .= ' AND ';    
        }
        $where_string .= $field . ' LIKE ''%' . $keyword . '%'' ';
        $counter++;
    }
}