tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

Limit s DibiFluent

před 10 lety

piler
Člen | 112

Zdravim,

da sa urobit pomocou DibiFluent limit, konkretne pre MsSQL 2005?

Takto nejak by som to ocakaval, ale nefunguje to.

<?php
$result = dibi::select('id')
    ->select('EmailAddress')
    ->from('accounts')
    ->limit(0, 10);
?>

Skusal som aj moznost:

<?php
$result = dibi::select('id')
       ->select('EmailAddress')
       ->from('accounts');

    foreach ($result->getIterator(0,10) as $n => $row) {
        print_r($row);
    }
?>

Ale ani ta nefunguje. Kde robim chybu?

před 10 lety

phx
Člen | 652

Ukaz jaky dotaz to posila do databaze. (metoda test(), tedy pokud v DibiFluent je)

před 10 lety

piler
Člen | 112

phx napsal(a):

Ukaz jaky dotaz to posila do databaze. (metoda test(), tedy pokud v DibiFluent je)

Zabudol som tam pridat excecute(). Teraz to uz funguje. Da sa ten limit aplikovat hned na query, alebo sa da aplikovat len na foreach?

Este mam problem s jednou chybou. Vytahujem z databazy ulozene XML:

Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. (severity 16)

před 10 lety

phx
Člen | 652

Ohledne XML netusim.

Ohledne Limitu nevim jak to ma David implementovane, ale na MySQL lze dat limit uz do dotazu (MySQL podporuje vypis pomoci LIMIT od, kolik), ale MsSQL netusim. Tam se to dela nejak silene divne pres TOP kolik a v podmince se osetruje ktere nechces (SELECT TOP od id_tabulky …). Proste humus.

Pokud se nepletu tak iterator ve foreach z databaze nacte vsechny zaznami a v cyklu ti vrati jen ty ktere chces, coz je dost neprakticke u velikych tabulek.