Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter-从辅助表获取值_Php_Mysql_Codeigniter - Fatal编程技术网

Php Codeigniter-从辅助表获取值

Php Codeigniter-从辅助表获取值,php,mysql,codeigniter,Php,Mysql,Codeigniter,我的数据库中有3个表格:“锻炼”、“锻炼”和“锻炼列表” 训练:| id |日期时间|杂项1 |杂项2| 练习:|id | ex|u id | wo|id | weight | reps | wo|u order| 练习列表:| id |标题| 到目前为止,我已经生成了一个视图,可以获取特定训练的详细信息(myurl.com/workouts/view/) 我已经建立了一个查询,从“训练”中获取字段,并且它还获取与该训练相对应的任何“训练”条目(通过get_,其中使用wo_id) 我建立了一个视

我的数据库中有3个表格:“锻炼”、“锻炼”和“锻炼列表”

训练:| id |日期时间|杂项1 |杂项2|

练习:|id | ex|u id | wo|id | weight | reps | wo|u order|

练习列表:| id |标题|

到目前为止,我已经生成了一个视图,可以获取特定训练的详细信息(
myurl.com/workouts/view/

我已经建立了一个查询,从“训练”中获取字段,并且它还获取与该训练相对应的任何“训练”条目(通过get_,其中使用wo_id)

我建立了一个视图,其中列出了该训练的训练,但我只能获得关于训练的“id”的信息。我需要以某种方式进行进一步查询,以获取与该训练“id”相关的每个练习的“标题”

因此,我目前有一个表(html):

|运动|体重|次|

|1 | 50 | 8 |

我需要“1”成为“练习列表”中练习的标题,“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行做得更好。

您可以使用连接并从
练习列表中选择标题

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

到目前为止你尝试了什么?请不要在帖子标题中添加
solved
。它不像一个论坛。如果你已经解决了自己的问题,你可以添加自己的答案。这看起来不错。我会调查的。对我来说是个新概念。我听说过,但从未使用过。谢谢,我会回来报到的@j0nr如果有效,则将此答案标记为已接受,以供参考。请参阅