Php 选择表格A和表格B中的记录,其中表格A.id=表格B.id,表格A中的记录一次
我在Codeigniter工作。我在MySql数据库“menus”和“menus\u child”中有两个表。 结构如下: 表:菜单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”在表“
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;
}