2016-06-16 10 views
1

ich diese Zeilen Code haben,mehrere select-Anweisungen in CI

$val = self::$db->select('*')->select('a.id')->select("CONCAT(user_profile.firstname,' ',user_profile.middlename,' ',user_profile.lastname) AS user_name")->from('a')->join('user_profile', 'po.user_id = user_profile.id')->get()->result(); 

In dieser Abfrage Es werden alle Daten in den Zeilen auszuwählen. Es ist eine Spalte ausgewählt, "modified_by". Ich möchte das verwenden, um den entsprechenden user_profile.firstname zu erhalten.

ich diese Zeilen Code versucht, aber nicht funktioniert,

$val = self::$db->select('*')->select('a.id')->select('a.modified_by' as modifier)->select("CONCAT(user_profile.firstname,' ',user_profile.middlename,' ',user_profile.lastname) AS user_name")->select('user_profile.firstname where user_profile.id = modifier ')->from('a')->join('user_profile', 'po.user_id = user_profile.id')->get()->result(); 
+1

Sie sollten die Gesamtheit von: 'markieren ('a.modified_by' als Modifikator)' in diese einfachen Anführungszeichen. Das ist das offensichtlichste Problem, das ich sehe. Also ändere es grundsätzlich zu: 'select ('a.modified_by als Modifier')'. – Keeleon

+0

@DjGenexxe Kannst du mehr über diese Frage erfahren? –

Antwort

0

Um @ Keeleon Kommentar Sie SELECT Aussagen kombinieren können Kommas so Ihren Code oben ist völlig legal, wie mit:

$this->db->select('*, a.id, a.modified_by as modifier, CONCAT(user_profile.firstname,' ',user_profile.middlename,' ',user_profile.lastname) AS user_name)-> .... ->get()

Es sieht so aus, als ob du eine Unterabfrage machst, das ist ein großes Problem, wenn es darum geht, die Standardfunktion des Codeigniters zu benutzen - du kannst diese Antwort verwenden, um das aussortiert zu bekommen: https://stackoverflow.com/a/16303021/3629438

Aber das Wesentliche besteht darin, die Abfragen zu trennen, bevor sie kombiniert werden.

+0

Sie sagten, dass Code Igniter Unterabfragen nicht unterstützt. Und in Ihrem Beispiel werden auch keine Unterabfragen angezeigt. –