2014-07-24 1 views
0

J'ai une table nommée 'catégories'. Sa structure est comme ceci:Comment joindre deux champs d'une même table dans CI?

id  parent_id  name 
1  NULL   Electronics 
2  NULL   Books 
3  1    Mobile 
4  2    Love Story 

Je veux rejoindre 'parent_id' avec le champ 'name'. Comment puis-je joindre ces deux champs dans codeigniter?

+2

Qu'est-ce que l'intégration CodeIgniter/continue a à voir avec cela? – Cheruvian

+0

Pourquoi ne pouvez-vous pas utiliser 'concatenation'? Simplement parent_id + nom? –

+0

Fournir un exemple de la sortie de votre recherche ... Je ne suis pas sûr si vous êtes après 'Electronics, Books, Electronics.Mobile, Books.Love Story' ou autre chose ... 'Love Story.Books'. .. ou 1.Mobile 2.Love Story, ou quoi ... Incidemment, il s'agit d'une requête hiérarchique ... combien de niveaux et de RDBMS? – xQbert

Répondre

0

Ceci est connu comme autojointure

SELECT a.name + '-' + b.name 
FROM categories a 
    INNER JOIN categories b 
    ON a.id = b.parentid 
+0

@skonmai cochez cette réponse? – Horaciux

0

En supposant que vous utilisez le activerecord de CI, jetez un oeil here

$this->db->select('*') 
$this->db->from('categories c1') 
$this->db->join('categories c2', 'c1.id = c2.parent_id'); 
+0

J'ai 6 données dans le tableau mais il est en train de récupérer 12 données et il montre seulement les données dont le parent_id n'est pas nul, mais je veux montrer toutes les données et au lieu de parent_id, je veux montrer le nom de la catégorie en le rejoignant avec id. –

Questions connexes