我的数据库中有3个表:'锻炼','练习'和'exercise_list'。
锻炼:| id | datetime | misc1 | misc2 |
练习:| id | ex_id | wo_id |重量|代表| wo_order |
exercise_list:| id |标题|
到目前为止,我已经生成了一个视图,用于获取特定锻炼的详细信息(myurl.com/workouts/view/<datetime>
)
我已经构建了一个查询来抓取“锻炼”中的字段,并且它还会抓取与该锻炼相对应的任何“练习”条目(通过使用wo_id的get_where)。
我建立了一个视图,其中列出了该锻炼的练习,但我只能预测锻炼的“身份”。我需要以某种方式进一步查询,以获取与该锻炼“id”相关的每个锻炼的“标题”。
所以我目前有一个表(html):
|练习|重量|代表|
| 1 | 50 | 8 | ...
我需要'1'才能成为'exercise_list'中练习的标题,'id'为'1'。
我的解决方案
可能不完美但有效:
public function get_exercises($wo_id)
{
$this->db->select('exercises.wo_id,
exercises.weight,
exercises.reps,
exercise_list.title');
$this->db->from('exercises');
$this->db->join('exercise_list','exercises.ex_id= exercise_list.id');
$this->db->where('exercises.wo_id',$wo_id);
$q = $this->db->get();
$query = $q->result_array();
return $query;
}
不确定做最后几行的最佳方法。这是在我的模型中,所以我需要返回数组。我想要有一种比过去3行更好的方法。
答案 0 :(得分:1)
您可以使用联接并从exercise_list
表
$this->db->select('w.*,el.title')
->from('workouts w')
->join('exercises e','w.id = e.wo_id')
->join('exercise_list el','el.id = e.ex_id')
->where('e.wo_id',$yourid)
->get()
->result();