Как получить данные пользователей и таблицы профиля в codeigniter - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть две таблицы: одна - users, а другая - user_profile, а в таблице users предполагается 20 строк, а в таблице user_profile только две строки.

Как я могу получить всех пользователей, которыеимеет профиль или у кого нет профиля в codeingniter ?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2019

Чтобы получить пользователей с профилем, используйте INNER JOIN

 public function users_profile(){
        $this->db->select('users.*, user_profile.column1 as column1, user_profile.column2 as column2');
        $this->db->join('user_profile', 'user_profile.user_id = users.user_id', 'inner');

        $query = $this->db->get('users');
        return $query->result_array();
    }

Чтобы получить всех пользователей с или без профиля, используйте LEFT JOIN

public function all_users(){
        $this->db->select('users.*, user_profile.column1 as column1, user_profile.column2 as column2');
        $this->db->join('user_profile', 'user_profile.user_id = users.user_id', 'left');

        $query = $this->db->get('users');
        return $query->result_array();
    }

Rememer, чтобы user_id стал ПЕРВИЧНЫЙ КЛЮЧ для обеих таблиц

0 голосов
/ 14 февраля 2019

Вы можете использовать объединение, как показано ниже

Примечание: user_id является первичным ключом таблицы пользователей

$this->db->select('*');
$this->db->join('user_profile up', 'up.user_id = u.user_id', 'left');
$this->db->get('users u')->result_array();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...