Zobrazenie many to many v datagrid
- bajtak
- Člen | 4
Ahojte,
mám tabuľku student ktorá má many to many relationship
s tabuľkou group.
Mojím cieľom je zobraziť datagrid všetkých študentov a ku každému
študentovi, do jedného stĺpca napísať všetky kategórie do ktorých
patrí.
Mám vytvorenú StudentRepository, v ktorej volám findAll. Viem, že
existuje metóda related() ale neviem ako ju správne použiť keďže volám
fetchAll.
class StudentRepository
{
...
public function findAll() : ?array
{
return $this->database->table('student')->fetchAll() ?: NULL;
}
...
}
Používam datagrid Ublaboo.
Vopred ďakujem ;)
- Mortisson
- Člen | 21
Musíš si ty studenty, kteří ti přišli v tom fetchAll() projet foreachem a na každém z nich zavolat tu metodu related.
Mělo by to vypadat nějak takhle, což je ale přímo z dokumentace, takže najít odpověď nebylo zas tak těžké.
<?php
$books = $context->table('book');
foreach ($books as $book) {
echo 'title: ' . $book->title;
echo 'written by: ' . $book->author->name; // $book->author je řádek z tabulky 'author'
echo 'tags: ';
foreach ($book->related('book_tag') as $bookTag) {
echo $bookTag->tag->name . ', '; // $bookTag->tag je řádek z tabulky 'tag'
}
}
?>