[英]Joining multiple tables in CodeIgniter query
I want to run a query in CodeIgniter. 我想在CodeIgniter中运行查询。
The query is 查询是
"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');"
Which when I run in CodeIgniter query I write as: 当我在CodeIgniter查询中运行时,我将其写为:
$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);
But I don't know why this isn't working out. 但是我不知道为什么这没有解决。
It's throwing this error: 抛出此错误:
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
致命错误:在第189行的/home/koushani/public_html/jmssimplex.com/application/admin/models/gallery_model.php中调用未定义的方法CI_DB_mysql_driver :: and_like()
Because and_like is not a active record function.so you can use multiple like in a query 因为and_like不是活动的记录函数,所以您可以在查询中使用多个like
Try this 尝试这个
$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);
Another way is 另一种方法是
$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();
You should write like as following 你应该这样写
$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();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.