получить данные из двух таблиц с помощью объединений или другим способом? - PullRequest
1 голос
/ 12 октября 2019

Я хочу получить данные из двух таблиц, одна из которых «Пользователь», а другая «Пакеты», например «бронза, серебро, золото». Как показать того пользователя, у которого есть бронзовый пакет?

Таблица пользователей:

Userid email    pass amount
 1     a@d.com  123  200
 2     b@d.com  123  100
 3     c@d.com  123  300
 4     d@d.com  123  500

Пакеты:

packId userid package
  1       1    gold
  2       2    bronze
  3       3    bronze
  4       4    bronze

Показывать результат так:

d@d.com 123 500 bronze
c@d.com 123 300 bronze
b@d.com 123 100 bronze 

Моя функция:

public function getUserBronze(){
        $this->db->select('amount'); 
        $this->db->from('user u');
        $this->db->join('package up', 'u.account=up.userid', 'INNER');
        $this->db->order_by('amount',"DESC");
        $this->db->where('amount!=', 0);
        return $this->db->get()->result_array();
       }

1 Ответ

2 голосов
/ 12 октября 2019

Присоединитесь к идентификатору пользователя и выберите, где пакет равен «бронза»

public function getUserBvList(){
    $this->db->select('u.*, up.package') 
         ->from('user u')
         ->join('user_package up', 'u.Userid=up.userid')
         ->where('package', 'bronze');
    return $this->db->get()->result_array();
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...