Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 选择表格A和表格B中的记录,其中表格A.id=表格B.id,表格A中的记录一次_Php_Mysql_Codeigniter - Fatal编程技术网

Php 选择表格A和表格B中的记录,其中表格A.id=表格B.id,表格A中的记录一次

Php 选择表格A和表格B中的记录,其中表格A.id=表格B.id,表格A中的记录一次,php,mysql,codeigniter,Php,Mysql,Codeigniter,我在Codeigniter工作。我在MySql数据库“menus”和“menus\u child”中有两个表。 结构如下: 表:菜单 id |菜单_名称 1 |产品 表:菜单和子菜单 儿童id | id |儿童姓名 1 | 1 |产品1 2 | 1 |产品2 3 | 1 |产品3 我想要实现的是,从“菜单”中选择“id,menu\u name”,同时从“menus\u child”中选择“child\u name”,其中menus.id=menus\u child.id。记住它的“id”在表“

我在Codeigniter工作。我在MySql数据库“menus”和“menus\u child”中有两个表。 结构如下:

表:菜单

id |菜单_名称
1 |产品

表:菜单和子菜单

儿童id | id |儿童姓名
1 | 1 |产品1
2 | 1 |产品2
3 | 1 |产品3

我想要实现的是,从“菜单”中选择“id,menu\u name”,同时从“menus\u child”中选择“child\u name”,其中menus.id=menus\u child.id。记住它的“id”在表“菜单”中,而不是表“菜单子菜单”中的“子菜单id”

以下是我正在做的:

$this->db->select('menu_name');    
      $this->db->from('menus');
      $this->db->select('child_name');
      $this->db->from('menus_child');
      $this->db->where('menus.id = menus_child.id');
      $query = $this->db->get();
      $data = $query->result();
      return $data;


但是,此查询返回

        [0] => stdClass Object
            (
                [menu_name] => products
                [child_name] => product1
            )

        [1] => stdClass Object
            (
                [menu_name] => products
                [child_name] => product2
            )

        [2] => stdClass Object
            (
                [menu_name] => products
                [child_name] => product3
            )
但我希望它是这样的:

[0] => stdClass Object
            (
                [menu_name] => products
                [child_name] => product1
                [child_name] => product2
                [child_name] => product3
            )



任何形式的帮助都将不胜感激。

不过需要稍作修改。在foreach循环中,“mainmenu”应为“$mainmenu”
$sql=$this->db->query(
"SELECT * from menus ");
$data=$sql->result_array();
foreach($data as $key=>$mainmenu){
$data[$key]['child']=$this->getChild($mainmenu['id']);
}
return $data;

function getChild($menu_id){
   $sql=$this->db->query(
    "SELECT * from menus_child where id='$menu_id'");
 $data=$sql->result_array();
return $data;
}