La requête suivante renvoie une ligne comme prévu lorsqu'elle est exécutée à partir de phpmyadmin.Kohana 3 - Le générateur de requête donne 0 ligne
SELECT units . * , locations . *
FROM units, locations
WHERE units.id = '1'
AND units.location_id = locations.id
LIMIT 0 , 30
Mais lorsque je tente de le faire en Kohana 3:
$unit = DB::select('units.*', 'locations.*')
->from('units', 'locations')
->where('units.id', '=', $id)->and_where('units.location_id', '=', 'locations.id')
->execute()->as_array();
var_dump($unit);
Il imprime
array(0) { }
Qu'est-ce que je fais mal?
echo Base de données :: instance() -> last_query; me donne: SELECT 'locations'. *,' units'. * FROM 'units',' locations' O WH 'units'.'location_id' = 'locations.id' ET' units'.'id' = '1' Il semble que le bug devrait être 'locations'.' 'Id '' et non 'locations.id' ??? En utilisant la méthode de requête simple que vous suggérez m'a donné l'erreur suivante: ErrorException [Erreur fatale]: ne peut pas passer le paramètre 2 par référence en ligne "-> bind (': id', (int) $ id)" – pigfox
@OK, umm essayez de supprimer la distribution en entier, ou assurez-vous que $ id est configuré quelque part (peut être après comme il est passé par référence) – alex