Codeigniter:模型查询没有';无法检索任何数据


Codeigniter: Model query doesn't retrieve any data

在我的数据库中,我有值为的字段

1个蓝白

2白蓝

3蓝色

4白色

对于每个id。

我有一个控制器,我在其中声明$color="白蓝",并将其传递给模型。在我的模型中,我用"爆炸"来分隔这两个单词,并用a来提取每个单词。

这是我的型号:

  public function test($color){
    $arry = explode(" ", $color); 
    foreach($arry as $colr){
    $this->db->where("tags like '%$colr%' or 
            tags like '%$colr'or 
            tags like '$colr%' ");
            }

    $q=$this->db->get('test');
    return $q;
    }

当我尝试在localhost上运行它时,它会给我一个成员函数调用result()错误。我知道这种错误意味着它无法从我的数据库中检索到任何数据。当我试图在查询中添加错误时,我发现如果使用"OR"在每个的第一个之后,它使用"AND"。你知道我该怎么做吗?

tags like '%$colr'or

缺少空格吗?

tags like '%$colr' or

此外,将$colr置于"%"之间就足够了。不需要其他线路。

因此,这应该起作用:

public function test($color){
    $arry = explode(" ", $color); 
    foreach($arry as $colr){
      $this->db->where("tags like '%$colr%' "); 
    }
    $q=$this->db->get('test');
    return $q;
}
public function test($color){
    $arry = explode(" ", $color); 
    foreach($arry as $colr) $this->db->or_where("tags like '%$colr%' "); 
    $q=$this->db->get('test');
    return $q;
}