【问题标题】:get data from two tables with the help of joins or by another way?借助连接或其他方式从两个表中获取数据?
【发布时间】:2020-02-09 22:15:21
【问题描述】:

我想从两个表中获取数据,一个是“用户”,另一个是“包”,如“青铜、白银、黄金”。如何显示拥有青铜包的用户?

用户表:

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();
       }

【问题讨论】:

标签: php database codeigniter activerecord


【解决方案1】:

加入用户 ID 并选择包等于“青铜”的位置

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();
   }

【讨论】:

  • 谢谢...不准确,但我从你的代码中得到了想法。再次感谢,因为我已经解决了我的问题。
猜你喜欢
  • 2018-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 2021-03-29
  • 2021-12-11
相关资源
最近更新 更多