2013-02-08 73 views
0

我想要在codeigniter中運行查詢;加入codeigniter查詢中的多個表

查詢是

"SELECT * FROM td_album,td_image 
    WHERE td_album.album_id=td_image.album_id 
      AND td_album.album_id='$id' 
      AND (td_image.image_name='$name' OR td_image.image_id='$image_id');" 

,當我笨查詢運行我爲寫:

$query = $this->db->select('*') 
         ->from('td_image') 
         ->join('td_album', 'td_album.album_id = td_image.album_id') 
         ->like('td_image.image_id', $image_id) 
         ->or_like('td_image.image_name', $image_name) 
         ->and_like('td_album.album_id',$id) 
         ->get('', $this->limit, $this->offset); 

,但不知道爲什麼,這個心不是工作了

請需要幫助的這...

EDIT 

其投擲此錯誤

Fatal error: Call to undefined method CI_DB_mysql_driver::and_like() in /home/koushani/public_html/jmssimplex.com/application/admin/models/gallery_model.php on line 189 

需要的具體答案。如下

$this->db->select('*') 
       ->from('td_image,td_album') 
       ->where('td_album.album_id', 'td_image.album_id') 
       ->where('td_album.album_id', $id) 
       ->where('td_image.image_name='.$name.' OR td_image.image_id='.$image_id); 
$query = $this->db->get(); 
+0

可能想要具體一點。不工作不說。它是否返回結果,錯誤的結果,你期望得到什麼結果? – 2013-02-08 13:02:29

+0

也許可以考慮使用'$ this-> db-> query($ query)'來處理更復雜的查詢,如發佈的查詢。 – Mudshark 2013-02-08 13:08:33

回答

0

你應該寫這樣因爲and_like不是活動記錄function.so你可以在查詢中使用多個像

試試這個

$query = $this->db->select('*') 
         ->from('td_image') 
         ->join('td_album', 'td_album.album_id = td_image.album_id') 
         ->like('td_image.image_id', $image_id) 
         ->or_like('td_image.image_name', $image_name) 
         ->like('td_album.album_id',$id) 
         ->get('', $this->limit, $this->offset); 

另一種方式是

$array = array('td_image.image_id' => $image_id, 'td_album.album_id' => $id); 
$this->db->select('*'); 
$this->db->from('td_image'); 
$this->db->join('td_album', 'td_album.album_id = td_image.album_id'); 
$this->db->like($array); 
$this->db->or_like('td_image.image_name', $image_name); 
$this->db->limit($this->limit, $this->offset); 
$query = $this->db->get(); 
3

請張貼任何假設的答案

+0

哥們,這個查詢結果顯示所有相冊的圖像,而我只需要顯示1 .. ur查詢相當於...選擇*從td_album,td_image 哪裏td_album.album_id = td_image.album_id AND td_album.album_id LIKE'$ id' OR td_image.image_name LIKE'$ name'AND td_image.image_id LIKE'$ image_id'; – Saswat 2013-02-09 03:26:17

+0

老兄,我只是試圖解決你的致命錯誤:調用未定義的方法CI_DB_mysql_driver :: and_like().... – 2013-02-11 06:18:19