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)