Szukałem od jakiegoś czasu, ale nie znalazłem żadnego rozwiązania, aby wykonać następujące czynności.Wyświetl dodatkowe pole wielu do wielu relacji wewnątrz tabeli
Próbuję wyświetlić tabelę zawierającą listę powiedzmy użytkowników. Wyświetlanie pól od użytkowników nie jest wielkim problemem, ale jest trudniejsze w przypadku pól asocjacyjnych. Załóżmy, że mam następujące tabele: User, Post i UserPosts, w UserPosts mamy flagę główną, aby wskazać, czy dany post jest główną pozycją użytkownika, czy nie.
W moim datatable, muszę wyświetlić informacje użytkownika, to znaczy pola w tabeli użytkownika + jego/jej główny post.
tej pory mam coś takiego:
<table>
<thead>
<tr>
<th>name</th>
<th>FrstName</th>
<th>Age</th>
<th>Main position</th>
<th>Action</th>
</tr>
<tbody>
<c:forEach items="${listUsers}" var="user" varStatus="status">
<tr>
<td><c:out value="${user.name}" /></td>
<td><c:out value="${user.firstName}" /></td>
<td><c:out value="${user.age}" /></td>
<td><c:out value="Position here" /></td>
<td>
Delete
<a href="/myAppli/user/${user.idUser}">Update</a>
</td>
</tr>
</c:forEach>
</tbody>
</thead>
myślę o pozycję będę musiał pobrać z bazy głównej pozycji danego użytkownika w danej kolumnie, ale potem, jak ustawić tę wartość (javascript , ajax?)
Czy myślę w niewłaściwy sposób, powinienem zamiast tego użyć klasy asocjacyjnej. Mam na myśli, odzyskać wszystkie UserPosts, gdzie pole główne = prawda? A następnie iteracyjne nad userPosts zamiast użytkowników, w tym przypadku, mam coś takiego:
<c:forEach items="${listUserPosts}" var="userPost" varStatus="status">
<tr>
<td><c:out value="${userPost.user.name}" /></td>
<td><c:out value="${userPost.user.firstName}" /></td>
<td><c:out value="${userPost.user.age}" /></td>
<td><c:out value="${userPost.post.postName}" /></td>
<td>
Delete
<a href="/myAppli/user/${userPost.user.idUser}">Update</a>
</td>
</tr>
</c:forEach>
Wydaje się dziwne dla mnie, być może się mylę.
Dlaczego nie dodasz do '$ {listUsers}' -model, w swoim kontrolerze, już postName? Lub, jeśli nie możesz lub nie chcesz, przekazać kolejny oddzielny model z wartościami? Ale wtedy musielibyście zapewnić, że pętla forEach nie jest losowa. – EricG
Nie jestem pewien, czy rozumiem twój konkretny problem. Czy "Użytkownik" nie ma już właściwości 'List', którą można po prostu powtórzyć w zagnieżdżonej pętli? –
BalusC
@EricG Oczywiście nie mogę zrobić pierwszej propozycji, a jeśli chodzi o drugą propozycję, spróbuję. Przepraszam, nie mogłem odpowiedzieć, aż do teraz. – aslan