Присоединение таблицы к самой себе с помощью построителя запросов CodeIgniter создает инвертированные отношения в набореPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Присоединение таблицы к самой себе с помощью построителя запросов CodeIgniter создает инвертированные отношения в наборе

Сообщение Anonymous »

Мне нужно использовать самостоятельное присоединение к таблице ниже с помощью 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] => ) )
Почему это происходит?

Подробнее здесь: https://stackoverflow.com/questions/553 ... d-relation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»