Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 Mysql从另一个表中选择一列作为选择键后连接四个表_Php_Mysql_Codeigniter_Activerecord - Fatal编程技术网

Php Mysql从另一个表中选择一列作为选择键后连接四个表

Php Mysql从另一个表中选择一列作为选择键后连接四个表,php,mysql,codeigniter,activerecord,Php,Mysql,Codeigniter,Activerecord,我有上面显示的数据库。 我有以下要求。 假设我必须从四个表中获取所有数据,小文本数据,大文本数据,文件\u data,其中meta\u data\u id与group\u meta\u data中group\u id=1的meta\u data\u id匹配。我的意思是返回此结果的函数的输入仅为group\u id。因此,我应该如何编写连接查询,选择特定组的所有meta\u data\u id,然后从所有四个数据表中选择数据。 我尝试了一些连接查询。但它不起作用。如果我能在Codeigniter

我有上面显示的数据库。 我有以下要求。 假设我必须从四个表中获取所有数据,小文本数据,大文本数据,文件\u data,其中meta\u data\u id与group\u meta\u data中group\u id=1的meta\u data\u id匹配。我的意思是返回此结果的函数的输入仅为group\u id。因此,我应该如何编写连接查询,选择特定组的所有meta\u data\u id,然后从所有四个数据表中选择数据。 我尝试了一些连接查询。但它不起作用。如果我能在Codeigniter活动记录中获得解决方案,那会更好。

试试这个,没有测试

  function get_data($id){
     $query = $this->db
    ->select('g.*, s.*, b.*, f.* ')
    ->join('small_text_data s', 's.meta_data_id=g.group_id', 'left')
    ->join('big_text_data b', 'b.meta_data_id=g.group_id', 'left')
    ->join('file_data f', 'f.meta_data_id=g.group_id', 'left')
    ->where('g.group_id', $id)
    ->get('group_meta_data g');

if($query->num_rows()) {
    return $query->result();
}
}

不需要返回rows@aseferov,我相信问题是,你的3个连接都应该连接到g.id,而不是g.group\U id。