案例
id start_date end_date client_id status
1 2012-12-30 2013-01-30 1新开始
2 2012-12-31 2013-01-31 2试用期
在客户
id名称dob性别状态
1 TOM 1987-01-30 M A
2 JERRY 1985-01-31 F D
出席
id client_id日期状态
1 1 2013-01-30 A
2 1 2013-01-31 P
我需要这样的结果
case_id case_start_date case_end_date client_id名称 att_date atte_status
1 2012-12-30 2013-01-30 1 TOM 2013-01-30,2013-01-31 A,P
这可能吗?我是一个自学者,我在加入查询时没有好主意,请任何人帮助我....答案 0 :(得分:0)
试试这个..
$this->db->select('ca.*,ci.Name,a.date,a.status');
$this->db->from('cases'.' ca');
$this->db->join('clients'.' ci','ca.client_id=ci.id','left');
$this->db->join('attendance'.' a','a.client_id=ci.id','left');
return $this->db->get();
如果你想了解更多关于加入和活动记录的信息,请浏览user guide
答案 1 :(得分:0)
这是一个非常简单的示例,可让您开始使用任何数量的加入常见乐趣
Construcor Code
将$joins
构造为数组:
$joins = array(
array(
'table' => 'table2',
'condition' => 'table2.id = table1.id',
'jointype' => 'LEFT'
),
);
示例函数处理连接为数组:
public function get_joins($table, $columns, $joins)
{
$this->db->select($columns)->from($table);
if (is_array($joins) && count($joins) > 0)
{
foreach($joins as $k => $v)
{
$this->db->join($v['table'], $v['condition'], $v['jointype']);
}
}
return $this->db->get()->result_array();
}