条件付きでデータベースから結果を取得しようとしています。where a = 1 and b != 2 など、多くの条件...
ここに私のコードサンプルがあります
$u = $this->ion_auth->user()->row()->id;
$hide=$this->find_hide_post();
$friend=$this->get_all_contacts();
この後、メインクエリを開始します
$this->db->where('user_id',$u);
foreach($friend as $fr)
{
foreach($fr as $f)
{
if($f->sub_id !=$u)
{
$this->db->or_where('user_id', $f->sub_id);
}
elseif($f->obj_id !=$u)
{
$this->db->or_where('user_id', $f->obj_id);
}
$this->db->where('time >', $f->time);
}
}
正しい結果が得られますが、これらの行を追加するたびに正しい結果が得られません。しかし、それらの投稿を結果から削除する必要があります。
foreach($hide as $h)
{
$this->db->where('id !=', $h->post_id);
}
最後に私はこの道を通り抜けます
$result=$this->db->get('my_wall');
$row=$result->result();
print_r($row);
結果は次のとおりです。
配列 ( [0] => stdClass オブジェクト ( [id] => 18 [user_id] => 19 [post] => [img] => public/users/wall/pic/Messenger14.png [doc] => [video ] => [リンク] => [リンク名] => [アクセスID] => [いいね] => 0 [時間] => 1340792296 )
[1] => stdClass Object
(
[id] => 19
[user_id] => 19
[post] => This is my test Documents
[img] =>
[doc] => public/users/wall/doc/19/20745322_temp.pdf
[video] =>
[link] =>
[link_name] =>
[access_id] =>
[like] => 0
[time] => 1340792743
)
IDが19などではない投稿は避けたいです。しかし、私の最後のクエリは機能していません:(、結果は同じです。