SELECT in oxid nur 1 Ergebniss in meiner Workbench aber 10

Hallo Zusammen,

vielleicht kan mir ja jemand auf die Sprünge helfen.

Ich habe ein Modul gebaut, in dem ich ein extend von oxarticlelist mache.

Hier mache ich eine SQL Abfrage. Die mir aber leider nur 1 Ergebnis zurückliefert. Wenn ich den Query direkt in meiner MySql Workbench aufrufe liefert er mir aber die gewünschten 10 Ergebnisse zurück.

Hat jemand eine Idee wo der Fehler liegt?

Beim rausnehmen vom join gehts. Aber ich brauche den join…

Hier einmal die Funktion:


<?php
class merchantsoxarticlelist extends merchantsoxarticlelist_parent
{
    protected $_blLoadSelectLists = true;
    protected $_sObjectsInListName = 'oxarticle';
    
    public function __construct()
    {
            parent::__construct();
    }
    
    /**
     * load articles
     *
     *
     * @return array   
     */
    public function loadArticles(){
        $sSelect = '
            SELECT 
                oxart.OXID, 
                oxart.OXTITLE, 
                oxf2s.OXPRICE 
            FROM 
                oxarticles as oxart 
            INNER JOIN 
                oxfield2shop as oxf2s ON oxart.OXID = oxf2s.OXARTID 
            WHERE 
               oxart.OXACTIVE = 1 AND 
               oxart.OXPARENTID = "" AND 
               oxart.OXVARCOUNT = "0" AND 
               oxart.OXMANUFACTURERID = "" AND 
               oxart.OXEAN = "" LIMIT 10';
        
        $this->selectString( $sSelect );

        foreach ($this->_aArray as $value) {
            echo $value->oxarticles__oxid->value;
        }
    }
}
?>

Hallo,

probier mal, die Spaltennamen klein zu schreiben und brauchst Du wirklich den INNER JOIN?

Kleinschreiben bringt nichts.

Ja ich möchte den Preis direkt haben. Ich könnte sicherlich auch das oxarticle Objekt jedesmal laden und mir dann den Preis über getter holen. Aber das wollte ich damit vermeiden…

Hmmm, also ohne INNER JOIN kann man das evtl. auch wie folgt schreiben. Sofern da nichts mehr hinzukommt, geht es vielleicht damit:

SELECT 
                oxarticles.oxid, 
                oxarticles.oxtitle,
		oxfield2shop.oxid,
                oxfield2shop.oxprice 
            	FROM 
                oxarticles, oxfield2shop
            	WHERE 
		oxarticles.oxid = oxfield2shop.oxid AND
               	oxarticles.OXACTIVE = 1 AND 
               	oxarticles.OXPARENTID = "" AND 
               	oxarticles.OXVARCOUNT = "0" AND 
               	oxarticles.OXMANUFACTURERID = "" AND 
               	oxarticles.OXEAN = "" 
		LIMIT 10';