我需要显示表格中某人的最后一个日期条目,取自已连接的表格。
我似乎只能显示第一个条目或全部。
控制器
public function session_view($id)
{
$data['main_view'] = 'session_view';
$data['view'] = $this->Swim_model->CRUD_read_session($id);
$this->load->view('load_view',$data);
}
模型
public function CRUD_read_session($sessionid)
{
return $this->db->select('*')
->from('sessionsandswimmers')
->join('child', 'ID = SwimmersID')
->join('swimmersawards', 'PersonID = ID')
->join('awards', 'AwardID = AwardsID')
->order_by('LastName')
->order_by('DateAwarded')
->where('SessionID', $sessionid)
->get();
}
查看
foreach ($view->result() as $row)
{
echo '<tr>'.$row->FirstName.'</td><td'.$row->LastName.'</td><td>'.$row->Description.'</td><td>'.$row->DateAwarded.'</td></tr>';
}
结果
如您所见,每个人都有几个条目(第1个除外)。
我需要为每个人显示最新的日期条目。
所以应该只有4个条目。
表格结构
会议和游泳者 - 每个会议有4名游泳运动员 1 tempid Primary int(11)否无AUTO_INCREMENT
2 SessionID int(11)否无
3 SwimmersID int(11)否无
4 SessionSeasonID int(11)否无
5年int(11)否无
6位置SS int(11)否无
孩子 - 得到游泳运动员的名字
swimmersawards - 每个孩子多个条目
1 PersonID int(11)否无
2 AwardsID int(11)否无
3 DateAwarded日期否无
奖项 - 获得奖项的名称
答案 0 :(得分:0)
将->order_by('DateAwarded')
更改为->order_by('DateAwarded','DESC')
。需要指定所需的订购类型。每人只需输入一次:
->group_by('FirstName,LastName')
答案 1 :(得分:0)
如果我理解正确,您显示的结果就是表格结构。您希望每个“名称”的最新日期输入。如果这是正确的,请关注,
SELECT DISTINCT `name` FROM `<your-joined-tables>` order by `date` DESC
抱歉,我对CI的查询构建器不满意。 希望它有效。