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 つのアルバムがあるとし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';"
したがって、すべての画像が表示されます。私の要件は、1 つのアルバムの画像のみを表示することです。
したがって、この MYSQL クエリと同等の CI AR クエリが必要です
"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()
です。