J'ai cette requête:
$query
->select(array('a.id', 'a.alias', 'b.category_id', 'b.item_id', 'c.id', 'c.name', 'c.alias'))
->from($db->quoteName('#__Zoo_category', 'a'))
->join('INNER', $db->quoteName('#__Zoo_category_item', 'b') . ' ON (' . $db->quoteName('a.id') . ' = ' . $db->quoteName('b.category_id') . ')')
->join('INNER', $db->quoteName('#__Zoo_item', 'c') . ' ON (' . $db->quoteName('b.item_id') . ' = ' . $db->quoteName('c.id') . ')')
->where($db->quoteName('a.alias') . ' = \'chubut\'');
Comme vous pouvez le constater, je récupère 2 alias: a.alias et c.alias. J'ai besoin que le navigateur affiche 2 alias.
Si je crée un écho sur $ value-> alias, le navigateur affiche le c.alias, pas le a.alias. . Où est a.alias? Comment puis-je l'obtenir?
$db->setQuery($query);
$resultado = $db->loadObjectList();
foreach ($resultado as $key => $value) {
echo "alias: $value->alias";
}
Vous pouvez utiliser le mot clé AS
.
Essaye ça:
$query
->select('a.id, a.alias AS cat_alias, b.category_id, b.item_id, c.id, c.name, c.alias AS item_alias')
...
...
;
Ensuite
foreach ($resultado as $key => $value) {
echo "alias: $value->cat_alias";
}
Note: L'utilisation de AS
mot-clé n'est pas obligatoire, vous pouvez donc l'omettre. Par exemple:
$query->select('a.id, a.alias cat_alias, c.alias item_alias');