I have the following Active Record query.
//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(); }
I want to group the bottom 3 "or_where" statements so that they are included in the top 3 words "where". The solution I came up with was ...
//Example 2 public function info($school, $class, $student, $keyword) { $this->db->where('school.description', $keyword); $this->db->where('school.id', $school); $this->db->where('class.id', $class); $this->db->where('student.id', $student); $this->db->or_where('class.description', $keyword); $this->db->where('school.id', $school); $this->db->where('class.id', $class); $this->db->where('student.id', $student); $this->db->or_where('student.description', $keyword); $this->db->where('school.id', $school); $this->db->where('class.id', $class); $this->db->where('student.id', $student); return $this->db->get('info')->result(); }
This works fine, but is there any way to do this without repeating the code?
php codeigniter
Staysee
source share