php – CodeIgniter Active记录多个“where”和“or”语句

前端之家收集整理的这篇文章主要介绍了php – CodeIgniter Active记录多个“where”和“or”语句前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下Active Record查询.
//Example 1
public function info($school,$class,$student,$keyword)
{
    $this->db->where('school.id',$school);
    $this->db->where('class.id',$class);
    $this->db->where('student.id',$student);

    $this->db->or_where('school.description',$keyword);
    $this->db->or_where('class.description',$keyword);
    $this->db->or_where('student.description',$keyword); 

    return $this->db->get('info')->result();
}

我想对底部3“or_where”语句进行分组,以便它们包含在前3个“where”语句中.我想出的解决方案是……

//Example 2
public function info($school,$keyword) 
{
    $this->db->where('school.description',$keyword);
    $this->db->where('school.id',$student);

    $this->db->or_where('class.description',$student);

    $this->db->or_where('student.description',$keyword); 
    $this->db->where('school.id',$student);

    return $this->db->get('info')->result();
}

这工作正常,但是有没有办法在不重复代码的情况下执行此操作?

我找到了解决方案!
public function info($school,$student);

    $this->db->where("(school.description LIKE '$keywords' OR class.description LIKE '$keywords' OR student.description LIKE '$keywords')");

    return $this->db->get('info')->result();
}

猜你在找的PHP相关文章