CodeIgniter-Join aus derselben Tabelle [Duplikat]Php

PHP-Programmierer chatten hier
Anonymous
 CodeIgniter-Join aus derselben Tabelle [Duplikat]

Post by Anonymous »

Ich habe einen Tisch mit dem Namen „Gäste“.

Ein Gast kann ein Gast oder ein plus_one sein.

Wenn es ein plus_one ist, ist dieser plus_one durch eine Master_ID mit einem Gast verbunden. Die Spalten-ID wird automatisch inkrementiert.

Tabelle

Code: Select all

id   master_id  type
1    1          guest
2    1          plus_one
3    3          guest
4    3          plus_one
5    5          guest
6    6          guest
Das erwartete Ergebnis der Abfrage ist ein Array mit einem Array für jeden Gast, und wenn dieser Gast über die Master_ID ein Plus_One angehängt hat, hat es dieses als Unterarray.

Wenn man sich die Tabelle oben ansieht, sollte es so aussehen (vereinfacht):

Code: Select all

[0]
['id'] => 1
['master_id'] => 1
['type'] => guest
['plus_one'] => // This is a sub array
['id'] => 2
['master_id'] => 1
[1]
['id'] => 3
['master_id'] => 3
['type'] => guest
['plus_one'] => // This is a sub array
['id'] => 4
['master_id'] => 3
[2]
['id'] => 5
['master_id'] => 5
['type'] => guest
[3]
['id'] => 6
['master_id'] => 6
['type'] => guest
Ich glaube, ich muss einen Self-Join durchführen, aber ich kann nicht herausfinden, wie und wie ich als Ergebnis das Sub-Array erhalten soll. Was ich versucht habe:

Code: Select all

$this->db->from('guests a');

$this->db->join('guests b', 'a.master_id = b.master_id', 'left outer');

$query = $this->db->get();
return $query->result_array();

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post