Magento Forum

   
Wie eine richtige Datenbank-Abfrage mit Magento-Funktionen (2 Varianten)
 
datensurfer
Sr. Member
 
Total Posts:  103
Joined:  2009-07-15
 

Magento Version 1.3.2.4

Wie wird eine Datenbank-Abfrage korrekt in Magento gemacht?

Folgender Code ist aus der Doku bzw. diversen Tutorials entnommen:

$select 'SELECT MAX(increment_id)';
$table 'sales_order';
$where 'increment_id=' $incrementId;
$order '';

$connection Mage::getSingleton('core/resource')->getConnection('core_read');
$select $connection->select($select)
->
from($table)
->
where($where)
->
order($order);

Das Problem ist jetzt das nicht die im select-statement definierte Spalte zurück gegeben wird, sondern ALLE Datensätze! :-(

Die folgende Abfrage über diesen Weg funktioniert (ohne die Funktionen der connection-select Klasse zu nutzen)

$select 'SELECT MAX(increment_id) as increment_id FROM sales_order WHERE increment_id=' $incrementId;
$data $connection->fetchAll($select);

Allerdings soll laut Doku unter tutorials auch die erste funktionieren.

Wo ist der Fehler was mache ich falsch?

 
Magento Community Magento Community
Magento Community
Magento Community
 
datensurfer
Sr. Member
 
Total Posts:  103
Joined:  2009-07-15
 

Kennt Niemand eine Lösung?

 
Magento Community Magento Community
Magento Community
Magento Community
 
NETZKOLLEKTIV_
Jr. Member
 
Avatar
Total Posts:  13
Joined:  2008-11-27
Erlangen, Germany
 

Nachdem Magento das Zend Framework nutzt, verhält es sich bei Datenbankabfragen ähnlich wie Zend Framework.
Bei deinem ersten Query benutzt du ein Zend_Db_Select-Objekt und setzt die jeweiligen Optionen:

$select $connection->select($select)
->
from($table)
->
where($where)
->
order($order);

Damit hast du aber noch keine Datenbankabfrage durchgeführt. Diese musst du, wie im zweiten Beispiel, durch ein

$connection->fetchAll($select);
durchführen. Wie du siehst, kannst du einem fetchAll sowohl ein Zend_Db_Select Objekt übergeben, als auch einen “rohen” SQL-Query.

Weitere Informationen findest du hier:
http://framework.zend.com/manual/de/zend.db.select.html

 
Magento Community Magento Community
Magento Community
Magento Community
 
datensurfer
Sr. Member
 
Total Posts:  103
Joined:  2009-07-15
 

Funktioniert, danke!

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top