嗨朋友我有两张桌子
1)user
id name etc..
1 xyz
2 pqrs
3 lmn
2)cart
cart_id id etc....
1 1
2 2
3 1
4 1
我希望购物车数据的用户详细信息没有重复(只有我们得到的人至少有一个购物车用户)
注意:
$this->db->select('*');
$this->db->from('user');
$this->db->distinct();
$this->db->join('cart', 'cart.id = users.id');
$query = $this->db->get()->result();
这里我得到所有重复的用户数据,我只想要一次进入购物车的用户数据
请帮帮我
答案 0 :(得分:2)
尝试group by
喜欢
$this->db->group_by('cart.id');
所以它会是
$this->db->select('*');
$this->db->from('user');
$this->db->distinct();
$this->db->join('cart', 'cart.id = users.id');
$this->db->group_by('cart.id');
$query = $this->db->get()->result();
答案 1 :(得分:0)
参考下面的解决方案
function users_having_sinle_item(){
$this->db->select('u.id, count(c.id) cart_count, u.username, c.cart_id, c.created_at');
$this->db->from('users u');
$this->db->join('cart c', 'c.id = u.id');
$this->db->group_by('u.id');
$this->db->having('cart_count = 1');
$query = $this->db->get()->result();
print_r($query);
}