У меня проблемы с попыткой получить результаты из этой таблицы с помощью слагов.
| id | parent | slug | name |
-----------------------------------------
| 1 | 0 | animations | animations |
| 2 | 1 | flash | flash |
| 3 | 2 | looped | looped |
| 4 | 1 | gif | gif images |
Например, мне нужно получить категории, в которых родительский элемент - "анимации", а дочерний - "флеш".
Реальная проблема в том, что мне нужно искать результаты, используя category / $ parent_slug / $ child_slug, вместо этого использовать идентификаторы (category / $ id), чтобы получить |3|2|looped|looped|
.
Это то, что яДо сих пор:
function get_category_childrens($category_parent=null){
$this->db->select('*');
if(!is_null($category_parent)){
$this->db->where('categories.slug', $category_parent);
$this->db->join('categories as l1', 'l1.parent = categories.id', 'left');
}
else{
$this->db->where('categories.parent', '0');
}
$query = $this->db->get('categories');
return $query->result_array();
}
Сгенерированный sql:
SELECT *
FROM (`categories`)
LEFT JOIN `categories` as l1 ON `l1`.`parent` = `categories`.`id`
WHERE `categories`.`slug` = 'animations'
Нет проблем, если вы не знаете CI, если у вас есть запрос или идея, пожалуйста, прокомментируйте.