Мне нужно использовать Self Join ниже таблицы, используя Codeigniter.
+----------------------------+
| id | parent_id | name |
+----------------------------+
| 1 | 0 | Ram |
+----------------------------+
| 2 | 0 | Alex |
+----------------------------+
| 3 | 1 | Sep |
+----------------------------+
| 4 | 1 | Mid |
+----------------------------+
| 5 | 2 | Seem |
+----------------------------+
| 6 | 3 | Julie |
+----------------------------+
Как использовать запрос CodeIgniter для получения вывода, как показано ниже
+--------------------------------+
| id | name | parent_name |
+--------------------------------+
| 1 | Ram | NULL |
+--------------------------------+
| 2 | Alex | NULL |
+--------------------------------+
| 3 | Sep | Ram |
+--------------------------------+
| 4 | Mid | Ram |
+--------------------------------+
| 5 | Seem | Alex |
+--------------------------------+
| 6 | Julie | Sep |
+--------------------------------+
Я использовал псевдоним для выбора данных, как показано ниже.
$this->db->select('p.id as p_id, p.name as p_name, p_parent.name as parent_name');
$this->db->from('Product as p');
$this->db->join('Product as p_parent', 'p_parent.parent_id = p.id ','LEFT ');
$results = $this->db->get()->result_array();
Я получаю несколько массивов и не получаю правильный результат.
Array (
[0] => Array ( [p_id] => 1 [p_name] => ram [parent_name] => sep )
[1] => Array ( [p_id] => 1 [p_name] => ram [parent_name] => Mid )
. . .
[6] => Array ( [p_id] => 6 [p_name] => julie [parent_name] => ) )
Почему это происходит?