Tableaux à une dimension avec Doctrine
Quand on vient du monde SQL, certaines choses simples deviennent un véritable casse tête avec Doctrine. J’avais besoin de retourner un tableau de valeurs de la forme array(key => value) avec des données venant d’une table MySQL. Rien de bien sorcier jusque là, je me lance donc dans l’écriture de ma fonction :
{
$q = Doctrine_Query::create()
->select('t.id, t.name')
->from('MaTable t');
return $q->fetchArray();
}
Et là c’est le drame ! Voilà le tableau retourné par Doctrine (tableau à deux dimensions) :
0 =>
array
'id' => int 1
'name' => string 'foo'
1 =>
array
'id' => int 2
'name' => string 'bar'
Pour récupérer les données sous forme d’un tableau à une dimension j’étais obligé de rajouter deux boucles dans la fonction ce qui est complètement stupide. Heureusement j’ai fini par trouver la solution (non sans mal) en tombant sur ce sujet. Doctrine dispose d’une méthode toute prête pour renvoyer un array simple
{
$q = Doctrine_Query::create()
->select('t.id, t.name')
->from('MaTable t')
->execute();
return $q->toKeyValueArray('id', 'name');
}
Ce qui nous renvoie bien :
1 => string 'foo'
2 => string 'bar'
Voilà, un article un peu léger au niveau du contenu mais qui pourra éventuellement servir à d’autres
Laisser un commentaire
Articles au hasard
-
Envoyer des emails avec Swift Mailer
-
Installer PEAR avec Wampserver 2.1
-
Mise en place d'un CSS Switcher avec jQuery
-
Quelques fonctions pratiques en PHP
-
Contrôleur de domaine Samba sur Debian ETCH
Articles par catégorie
- Administration réseau (6)
- Base de données (1)
- MySQL (1)
- Développement Web (7)
- HTML et CSS (1)
- Javascript (3)
- PHP (6)
Sondage
