CodeIgniter запрос, чтобы увидеть все сообщения, сделанные другом - PullRequest
0 голосов
/ 17 января 2012

Я работаю над проектом, основанным на CodeIgniter и MySQL. Мне нужны предложения по созданию запроса CodeIgniter.

Чего я хочу достичь:

У меня есть 3 таблицы, profile, activity и friends. Структура этих таблиц:

Профиль

user_id | name

активность

activity_id | message | user_id | sharewith | createdtime

друг

 id | user1 | user2 | arefriends

Теперь я хочу отображать сообщения всех пользователей на стенах всех / друзей в зависимости от того, с кем пользователь делится. У меня есть только два варианта обмена: либо поделиться со всеми , либо поделиться только с друзьями .

Для поделиться со всеми Я храню 1 в столбце sharewith активности для user_id и 2 для Поделиться только с друзьями .

Я уже построил этот запрос:

function load_activity()
{
    $user_id=$this->session->userdata('user_id'); 
    $this->db->select('*');
    $this->db->from('activity');
    $this->db->order_by("activity_id", "desc");
    $this->db->limit(15);
    $this->db->join('profile', 'profile.user_id = activity.user_id');
    $query = $this->db->get();
    foreach ($query->result() as $row){
        $data[]=$row;
    }

    echo json_encode($data);              
}

Как я могу изменить этот запрос, чтобы отображать все действия, которыми делятся все или , которыми делятся только друзья ?

Заранее спасибо.

1 Ответ

0 голосов
/ 28 февраля 2012

Кажется, что единственное, что вам нужно, это предложение WHERE. Если пользователь не является другом, он должен видеть только действие «Поделиться со всеми».

function load_activity() {
    $user_id=$this->session->userdata('user_id'); 
    $this->db->select('*');
    $this->db->from('activity');
    $this->db->order_by("activity_id", "desc");
    $this->db->limit(15);
    $this->db->join('profile', 'profile.user_id = activity.user_id');
    if(!IS_FRIEND) {
        $this->db->where('sharewith', 1);
    }
    $query = $this->db->get();
    foreach ($query->result() as $row){
        $data[]=$row;
    }

    echo json_encode($data);              
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...