tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

Přenos Dibi objektu do více funkcí

před 5 lety

l564
Člen | 4

Zdravím,
po dlouhé době mám problém.

Vytvořil jsem si třídu kde bych rád přenesl 1× Dibi objekt který se 3× v té třídě zpracuje – ve zkutečnosti se zpracuje pouze 1× a na ostatní vrací prázdný objekt. Zkoušel jsem i 3× naklonovat objekt pomocí fce clone ale bez úspěchů.

// Trida.php
class Trida{
    public static function NecoUdelej($query){
        // Toto proběhne v pořádku
        self::UlozTxt($query);
        // Ale zde již je prázdný objekt
        self::UlozHtml($query);
        self::UlozJson($query);

        /*
            Pokud dám na zacatek self::UlozHtml, tak trida ulozi v HTML nejaky vystup
            a ostatni objekty jsou prazdne. Tak ze se vykona to co je jako prvni
        */
    }

    public static function QueryVsechnyNovinky(){
        return dibi::query('SELECT * FROM [vsechnyNovinky]');
    }

    // Trida dale pokracuje
}

// Soubor.php
Trida::NecoUdelej(Trida::QueryVsechnyNovinky());

Nevíte někdo zda-li je toto chyba Dibi že se objekt vyprázdní nebo něco je chybné na mé straně?

Děkuji všem za odpovědi, a vyřešení zdárně jednoduchého problému.

před 5 lety

Milo
Nette Core | 1119

Výsledek query nejsou data, ale iterator. Bud ten dotaz proved znova, nebo si data fetchni do pole a pak predej metodam.

před 5 lety

l564
Člen | 4

Je fakt že i to mě napadlo ale řekl jsem si že jsem línej to přeprogramovávat, ale co se dá dělat. Asi ještě nemám analytické myšlení :D.

Díky za rychlou odpověď.