tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

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

Select * z viacerych tabuliek

před 8 lety

mbskot
Člen | 42

Cafte,
chcel by som Vas opat poprosit o radu alebo usmernenie.
Mam select:

dibi::select(array(
    'view_item.*',
    'article.*'))
  ->from('view_item')
  ->leftJoin('article')->on('article.id = view_item.id');
  ->where('view_item.id = %d', $id)
  ->fetch();

Dibi si select prelozi ako stlpec "view_item.* " a stlpec "article.* ", co je samozrejme zle.
Akym sposobom to zapisat spravne?(tvar potrebujem aby zostal tak ako je, pretoze v skutocnosti je select def. array niekde inde a sem pride len premenna $select a nie vzdy sa vyberaju vsetky hodnoty).

Neviem ci to nesposobuju tie opacne dlzne ` , kt. tam dibi vklada a nie len v tomto pripade mi lezu do kapusty. Nedaju sa nejako vypnut?

Vopred vdaka.

před 8 lety

Milo
Nette Core | 1119

Jaká verze dibi? Dibi 1.5rc mi to překládá následovně, tedy správně. Btw. %d je pro datum.

$id = 1;
dibi::select(array('view_item.*', 'article.*'))
    ->from('view_item')
    ->leftJoin('article')->on('article.id = view_item.id')
    ->where('view_item.id = %d', $id)
    ->test();
SELECT "view_item".*, "article".*
FROM "view_item"
LEFT JOIN "article" ON article.id = view_item.id
WHERE view_item.id = NULL

před 8 lety

mbskot
Člen | 42

re %d: sorry, sila zvyku :D, nj bolo to verziou, thx