特定のユーザーがフォローしている人々からすべてのステータスを選択するこのクエリがあります。私が持っている唯一の問題は、このクエリを使用して表示するユーザー自身のステータスを取得できないことです。
$this->db->select('*');
$this->db->from('statuses');
$this->db->join('friends', 'friends.friend_id = statuses.status_user_id');
$this->db->where('friends.user_id', $user_id);
//$this->db->or_where('statuses.status_user_id', $user_id); // why doesn’t this work?
$this->db->where('friends.confirmed', 1);
$this->db->order_by("statuses.id", "desc");
$query = $this->db->get();
return $query->result_array();
データベースの構造は単純です。friends テーブルに user_id (友達リクエストをした人) と friend_id (フォローされている/友達になっている人) があることだけを知っておく必要があります。ユーザーのステータスを取得する最も簡単な方法は何ですか?同じように?
このクエリは、フォローされている人のみを出力します。その人のステータスも表示する方法が見つかりません。したがって、user_id も使用する必要があります。これが理にかなっていることを願っています。
修理済み!超簡単、これを私の結合に追加しただけです:
$this->db->join('friends', 'friends.friend_id = statuses.status_user_id OR friends.user_id = statuses.status_user_id');