Dibi – fetchAssoc – více joinů
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Ravenss
- Člen | 12
Zdravím,
potřebuji vědět jestli je možné v Dibi při joinu více tabulek získat associativní pole v tomto stylu:
<?php
[
1 => [
id => 5,
name => 'Foo',
set_id => [
1 => [ /* sloupce v tabulce set */ ],
],
user_id => [
1 => [ /* sloupce v tabulce user */ ],
],
]
];
?>
Pro představu, mám tenhle kód a nevím co uvést do funkce
$ds->fetchAssoc
a jestli je to vůbec možné, popřípadě
nějaký nástin jak to udělat nejlépe, zatím mě napadá použít
$ds->setupResult('setRowFactory', ...)
a tam si fetchnout ty
jednotlivé tabulky zvlášť.
<?php
$ds = $this->dbConnection
->select('a.*, s.*, u.*')
->from('assignements')
->as('a');
$ds->leftJoin('user')
->as('u')
->on('u.id = a.author_id');
$ds->leftJoin('sets')
->as('s')
->on('s.id = a.set_id');
$ds->fetchAssoc('???');
?>
Editoval Ravenss (4. 2. 2016 20:58)