Betrachten Sie ein Forum, das viele Unterforen haben kann, die mehr Unterforen haben können.Laravel - zählen Sie die Gesamtzahl der Datensätze in "Threaded" Datensätze
Meine forums
Tabelle ist wie folgt:
id
, parent_id
, name
, is_category
Ein Forum Kategorie (is_category
) nicht Fäden in ihnen haben. Es kann jedoch die parent_id
ist die id
in der forums
Tabelle; Auf diese Weise kann ich ein Unterforum in einem Forum einrichten. Kurz gesagt, kann das Forum viele Unterforen, das viele weitere Unterforen haben kann, die mehr Unterforen und so weiter ...
Demo Datensätze haben:
| id | parent_id | name | is_category |
|----|-----------|-------------------|-------------|
| 1 | 0 | Suggestions | 1 |
| 2 | 1 | site suggestions | 0 |
| 3 | 1 | forum suggestions | 0 |
| 4 | 2 | bugs | 0 |
Meine Ansicht:
@if ($forum->hasSubforum())
@foreach ($forum->subforums as $subforum)
{{ $subforum->name }}
<h1>subforums</h1>
@if ($forum->hasSubforum())
@foreach ($subforum->subforums as $child)
{{ $subforum->name }}
@endforeach
@endif
@endforeach
@endif
Was ich versucht habe:
$threads = 0;
while(!$forum->subforums->isEmpty()) {
$threads += $forum->threads->count();
while(!$forum->subforums->isEmpty()) {
$threads += $forum->threads->count();
}
}
Dies gilt nicht einmal arbeiten ... :(
TL; DR Wie Sie sehen können, zeige ich die Unterformulare einem Benutzer an. Aber wenn ich anzeigen möchte, wie viele Beiträge ein Unterforum hat? Bitte beachten Sie, dass ein Unterforum mehrere Unterforen haben kann, die dann viele Threads haben können. Ich kann nicht einfach $subforum->threads->count()
tun, da dies nur die Threads zählt, die jedes Unterforum hat. Ich möchte auch die Anzahl der Threads zählen, die alle Kinder des Unterforums haben.
[Laravel rekursive Abfrage Antworten] (http://stackoverflow.com/questions/22014903/laravel-query-builder-for-recursive-results-e-g-id-parent-id). – ourmandave