tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

problém s SQLite driverem

před 11 lety

krajaac
Člen | 45

Zdravím,
narazil jsem při dnešním večerním experimentování na malinko podivné chování Dibi při použití SQLite databáze.

Jde o to, že když selektuju pouze jeden sloupec příkazem:

$result = dibi::select("id")
    ->from("tabulka")
    ->orderBy("[sloupec2] DESC");

dostanu jako výsledek $result->fetch() tenhle objekt:

object(stdClass) (1) {
  "[id]" => string(1) "123"
}

A v tom tkví můj problém (hranaté závorky v názvu atributu), protože na $result->[id] se nejsem schopný dostat :)

Ten samý kód s napojením DIBI na MySQL db vrátí výsledek normální:

object(stdClass) (1) {
  "id" => string(1) "123"
}

Takže $result->id se dá použít.

Jestli je chyba u mě tak se omlouvám za bezpředmětný post. Možné to je, s SQLite se tepr poznávám a ještě si moc nerozumíme.

Používám nejčerstvější Dibi 0.9 (revision 151) a v configu mám 'resultObjects' => TRUE

před 11 lety

David Grudl
Nette Core | 6806

To je bohužel důsledek chyby v SQLite (která byla teprve nedávno opravena, viz také diskuse o problému).

Každopádně asi by nebylo od věci to fixnout na úrovni dibi driveru. Snad to nezpůsobí nekompatiblity.