$where = array(
$this->left_column_name.' <' => $left,
$this->right_column_name.' >' => $rgt,
);
$this->db->limit(1);
//아래 줄을 추가하였습니다
$this->db->order_by($this->right_column_name, 'asc');
$query = $this->db->get_where($this->table_name, $where);
if ($query->num_rows() > 0) {
return $query->row();
}
return FALSE;
$left $right 값을 주고 limt(1) 을 걸면
직계부모 하나만 가져오는데요
이렇게 하는게 맞는 것일까요?
right column 값에 따라 오름차순으로 정렬하여
하나만 가져오면 됩니다. 끝
CREATE TABLE IF NOT EXISTS `board_category` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`controller_name` varchar(50) DEFAULT NULL,
`url` varchar(50) DEFAULT NULL,
`lft` int(11) NOT NULL DEFAULT '0',
`rgt` int(11) NOT NULL DEFAULT '0',
`parent_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `lft` (`lft`),
KEY `rgt` (`rgt`),
KEY `parent_id` (`parent_id`)
);
준비 하느라 시간이 다 가네요!