我试试这段代码
function catstore($id)
{
$this->db->distinct();
$this->db->select('store_id');
$this->db->from('products');
//$this->db->join('products','products.store_id = products.store_id');
$this->db->where('cat_id', $id);
$result = $this->db->get();
return $result->result();
}
它只产生不同的store_id,但我希望表中的所有列都具有基于store_id的不同行
建议我任何选择
提前致谢
答案 0 :(得分:1)
您可以尝试使用group_by
function catstore($id)
{
$this->db->select('*');
$this->db->from('products');
//$this->db->join('products','products.store_id = products.store_id');
$this->db->where('cat_id', $id);
$this->db->group_by('store_id');
$result = $this->db->get();
return $result->result();
}
我知道这个问题已经很久以前了,但有人可能会像我一样寻找同样的问题,这就是我解决它的方法。
答案 1 :(得分:0)
您可以完全省略select
功能。如果从表中选择所有(*),则不需要使用此功能。省略时,CodeIgniter假定您希望SELECT *
请参阅http://codeigniter.com/user_guide/database/active_record.html#select
或..
您可以将逗号分隔值传递给select
函数。因此,传递要用逗号分隔的所有列名称
function catstore($id)
{
$this->db->distinct();
$this->db->select('store_id, column1, column2, cloumn3');
$this->db->from('products');
//$this->db->join('products','products.store_id = products.store_id');
$this->db->where('cat_id', $id);
$result = $this->db->get();
return $result->result();
}