【发布时间】:2013-03-31 14:16:53
【问题描述】:
我有第三张表的外键 ID,例如(有 thirdsubmenu_id 的 thirdsubmenu 表)。我想从我的父表 mainmenu 中获取 menu_name 名称。 请参阅下面我的数据库表结构了解完整的详细信息
数据库结构
1)Table: mainmenu
---------------
mainmenu_id PK(primary key)
menu_name .....
2)Table: submenu
-------------------
submenu_id PK
mainmenu_id FK (foreign key refrences mainmenu table)
submenu_name .....
3)Table: thirdsubmenu
--------------------
thirdsubmenu_id PK
submenu_id FK (foreign key refrences submenu table)
thirdsubmenu_name ........
我尝试使用以下代码从我的mainmenu 表中获取menu_name,但出现错误。
//---------------------------get Main Menu Name by thirdsubmenu_id-----------------------------------
function getMainMenuNameOfSubmenu($thirdsubmenu_id)
{
$this->load->database();
$this->db->select('*');
$query=$this->db->join('mainmenu', 'mainmenu.mainmenu_id = submenu.mainmenu_id', 'left')
->join('submenu', 'submenu.submenu_id = thirdsubmenu.submenu_id', 'left')
->get_where('thirdsubmenu',array('thirdsubmenu_id'=>$thirdsubmenu_id));
return $query->row('menu_name');
}
我得到的错误是:
A Database Error Occurred
Error Number: 1054
Unknown column 'submenu.mainmenu_id' in 'on clause'
SELECT * FROM (`thirdsubmenu`) LEFT JOIN `mainmenu` ON `mainmenu`.`mainmenu_id` = `submenu`.`mainmenu_id` LEFT JOIN `submenu` ON `submenu`.`submenu_id` = `thirdsubmenu`.`submenu_id` WHERE `thirdsubmenu_id` = '17'
Filename: D:\xampp\htdocs\system\database\DB_driver.php
Line Number: 330
【问题讨论】:
标签: php mysql codeigniter join