如何使用codeigniter获取表中的单个记录

时间:2013-11-19 10:16:18

标签: php mysql codeigniter

嗨朋友我有两张桌子

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

这里我得到所有重复的用户数据,我只想要一次进入购物车的用户数据

请帮帮我

2 个答案:

答案 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);
}