tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

Subst jako ORM

před 11 lety

phx
Člen | 652

Zdravim…

Rad bych vyuzil v dibi subst pro ORM. Predstava je nejaka takovato:

dibi::query("SELECT * FROM [:Account.table:] WHERE [:Account.user:]='phx'");

Jde o to, ze ted moje SQL vypadaji takto:

dibi::query("SELECT * FROM [".Account:getTable()."] WHERE [".AccountgetColumn('user')."]='phx'");

Uznejte, ze to 1. vypada mnohem citelneji.

Bohuzel bych do dibi musel dat vsechny tabulky, sloupecky atd coz je silene. Druha moznost je vyuzit handler a parsovat si SQL dotaz a doplnit subst. Coz mi prijde zbytecne a navic to uz jendou dela samotne dibi. (parsuje SQL a nahrazuje subst)

Nebylo by mozne udelat nejaky handler typu. Nezname subst? Ci neco pobobneho jako subst. Proste dotazovaci metodu na nahrazeni.

před 11 lety

David Grudl
Nette Core | 6806

To aby asi šlo. Implementoval jsem to do poslední verze:

<?php
function substFallBack($expr)
{
    return 'the_' . $expr;
}

// create substitution fallback
dibi::setSubstFallBack('substFallBack');
?>

před 11 lety

phx
Člen | 652

Dekuji;)