我有下表。
CREATE TABLE IF NOT EXISTS `omc_schedule` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`trainer_id` int(11) NOT NULL,
`course` varchar(255) NOT NULL,
`capacity` int(11) NOT NULL,
`active` tinyint(1) NOT NULL DEFAULT '1',
`parentid` int(10) NOT NULL,
`order` int(11) NOT NULL,
`booked` int(5) NOT NULL,
`type` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ...
我可以使用以下函数来生成数组树。
function generateTree(&$tree, $parentid = 0) {
$this->db->select('*');
$this->db->where ('parentid',$parentid);
$this->db->where ('active','1');
$this->db->order_by('order asc, parentid asc');
$res = $this->db->get('omc_schedule');
if ($res->num_rows() > 0) {
foreach ($res->result_array() as $r) {
// push found result onto existing tree
$tree[$r['id']] = $r;
// create placeholder for children
$tree[$r['id']]['children'] = array();
// find any children of currently found child
$this->generateTree($tree[$r['id']]['children'],$r['id']);
}
}
$res->free_result();
return $tree;
}
现在我想加入一个教练表来获取教练的名字。
CREATE TABLE IF NOT EXISTS `omc_trainer` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`trainer_name` varchar(50) NOT NULL,
`trainer_image` varchar(100) NOT NULL,
`video_url` text NOT NULL,
`desc` text NOT NULL,
PRIMARY KEY (`id`)
)
现在我尝试以不同的方式加入,但我无法在每个数组中获取培训师的姓名。
有什么方法可以使用 JOIN 在递归函数中获取培训师的姓名?
以上函数为CodeIgniter,请忽略。
提前致谢。