2012-12-03 5 views
1

Je dois obtenir une jointure gauche avec un $var! Sans variable le code fonctionne:

$query->select('d.value AS department'); 
$query->join('LEFT', '#__jea_departments AS d ON d.id = p.department_id'); 

J'ai essayé toute la syntaxe pour entrer une variable, mais ça ne marche pas! J'ai essayé "$test" {$test} mais cela ne fonctionne pas.

Répondre

0

Vous passez des littéraux de chaîne avec des guillemets simples, c'est le problème. PHP n'interpole pas les variables dans les chaînes définies avec des guillemets simples. les changer pour des guillemets doubles pour résoudre:

$query->select("$test AS department"); 

concaténer Vous pouvez également les variables:

$query->select($test . ' AS department'); 

De l'Manual:

Contrairement aux syntaxes double cités et Heredoc, variables et séquences d'échappement Les caractères spéciaux ne seront pas développés lorsqu'ils apparaissent dans des chaînes entre guillemets simples.

+0

La deuxième façon est la méthode joomla mais vous devriez utiliser l'API de devis. – Elin

0

Vous utilisez des guillemets simples. Ensuite, il ne transformera pas $ test en valeur de propper. Utilisez des guillemets doubles ou utilisez $ test. ' comme département '

$test = 'd.test'; 
print '$test as department'; //will print: $test as department 
print "$test as department"; //will print: d.test as department 
print $test. ' as department'; //will print: d.test as department