Datagrid – M:N v jednom řádku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
potapnik
Člen | 127
+
0
-

Zdravím :)

Chtěl jsem se zeptat, jestli je vůbec teoreticky možné naplnit komponentu Datagrid tak, aby v jednom řádku bylo možné vypsat všechny závislosti M:N? Tj. např.:

id|nazev|text|tagy

01|Nazev|Blah|tag1, tag2, tag3, tag4

Pouzivam datagrid od Romana Sklenare, konkretne fork od ricco24.

Predem dik.

klip
Člen | 11
+
0
-

Mozna udelat si vlastni DataSource, respektive zdedit z toho, co pouzivas a prepsat to trochu, minimalne fetch metodu. Sam budu presne tohle resit a zatim jsem si jen napsal vlastni DataSource (zalozenym na RedBean ORM). Tohle jsem chtel resit jako druhej krok a na prvni zamysleni se mi to zda jako dobrej napad, tak uvidim ;)

llsm
Člen | 121
+
0
-

Doporucuji prizpusobit dotaz do databaze, aby vracel jedno to pole pospojovane pomoci SQL funkce GROUP_CONCAT (MySQL), viz:

<?php
public function getQuery() {
 return dibi::dataSource('SELECT [table].[id] AS [id], [table].[name] AS [nazev],
 [table].[text] AS [text], GROUP_CONCAT( DISTINCT [other_table].[tag] SEPARATOR ', ') AS [tagy]
 FROM [table]
 LEFT JOIN [rel_table_other_table] ON ([table].[id] = [rel_table_other_table].[id_table])
 LEFT JOIN [other_table] ON ([rel_table_other_table].[id_other_table] =[other_table].[id])')
}
?>

Mam vyzkousene, ze tohle funguje i s puvodnim datagridem od RS.