我想在 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');"
我使用活动记录在 CI 中编写了这个查询:
$query = $this->db->select('*')
->from('td_image')
->join('td_album', 'td_album.album_id = td_image.album_id')
->like('td_image.image_id', $descp)
->or_like('td_image.image_name', $descp)
->like('td_album.album_id',$a_id)
->get('', $this->limit, $this->offset);
但我面临一个问题。假设我有两张 id1
和2
. 我只想显示专辑的图像1
。上面的 CI AR 查询正在返回所有图像的结果,即显示两个相册的图像,这不应该发生。
实际上它应该显示来自album_id为1的相册中的图像。
现在我意识到上面的 CI AR 查询代表:
"SELECT * FROM td_album,td_image
WHERE 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';"
所以它显示了所有的图像。我的要求是只显示一张专辑的图像。
所以,我需要 CI AR 查询等同于这个 MYSQL 查询
"SELECT * FROM td_album,td_image
WHERE td_album.album_id=td_image.album_id
AND td_album.album_id LIKE'$id'
AND (td_image.image_name LIKE'$name' OR td_image.image_id LIKE'$image_id');"
如何将最后一个查询转换为 CI AR?我想要一个具有like() or_like()
.