imskm
imskm

Reputation: 805

codeigniter model function with and / or query

I have this function in model

 function select($table,$match,$or){
        $this->db->select('*');
        $this->db->from($table);
        $this->db->where($match)->or_where($or);
        $query = $this->db->get();
        $query_result = $query->result();
        return $query_result;
    }

and in controller

$post = array("class"=>"XI","section"=>"A","stream"=>"Medical");
$data = $this->main_model->select("class_subjects",array("class"=>$post['class'],"section"=>"all","stream"=>$post['stream']),$post);
            print_r($data);

I am not getting any error but this is printing whole data of table. how can i match class='XI' and stream='Medical' and (section='A' or section='all')

Upvotes: 1

Views: 65

Answers (1)

Atural
Atural

Reputation: 5439

Try this

function select($table,$match,$or)
{
    $query = $this->db
        ->select("*")
        ->from($table)
        ->group_start()
            ->where($match)
        ->group_end()
        ->group_start()
            ->or_where($or)
        ->group_end()
        ->get();

    $strSql = $this->db->last_query();

    return $query->result();
}

if that won't work - print out the $strSql Variable and post the Query here.

Upvotes: 1

Related Questions