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
+
0
-

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)