ich ein Array ausgegeben haben, ist Baum wie Struktur wie folgt aus:Wie Baumstruktur rekursiv in Laravel Blade anzuzeigen?
Hier habe ich eine Datenbanktabelle mit Eltern-Kind-Beziehung wie haben: Hier
public function up()
{
Schema::create('trees', function (Blueprint $table) {
$table->increments('id');
$table->integer('parent_id')->unsigned()->nullable();
$table->string('name');
$table->integer('has_child');
$table->integer('depth');
$table->timestamps();
$table->foreign('parent_id')->references('id')->on('trees')->onDelete('cascade');
}
}
,
Tiefe definiert die Tiefe von der Wurzel im Baum, parent_id
bezieht sich auf Eltern in der gleichen Tabelle und has_child
definiert die Existenz des Kindes. Für das Blatt ist has_child
Null und für die oberste parent_id ist null.
Die Tiefe kann einen Wert von bis zu 5 haben. Im obigen Fall gibt es nur 2 für Testzwecke.
Hier ist mein Beispieldatenbankeintrag:
public function getChilds($d){
$tree = array();
$children = array();
$tree['parent'] = $d->toArray();
if($d->has_child==1){
$data = Tree::where('parent_id',$d->id)->get();
foreach ($data as $d) {
$first = $this->getChilds($d);
array_push($children, $first);
}
}
$tree['children'] = $children;
return $tree;
}
public function getTree(){
$tree = array();
$data = Tree::where('parent_id',null)->get();
foreach ($data as $d) {
$first = $this->getChilds($d);
array_push($tree, $first);
}
return view('tree',compact('tree'));
}
Nun, dies
I angezeigt werden soll:
ich die oben Baumstruktur rekursiv in Controller wie bekommen haben Daten in baumartiger Struktur. Aber aufgrund der variablen Tiefe kann ich keine Tiefe erkennen, bis zu der ich gehen sollte.
Gibt es eine Möglichkeit, diese Struktur rekursiv in Laravel Blade anzuzeigen?
Erwarteter Ausgang ist so etwas wie dieses:
One0
One0Two0
One0Two0Three0
One0Two0Three1
One0Two1
One0Two1Three0
One0Two1Three1
One0Two2
One0Two2Three0
One0Two2Three1
Jede Art von Hilfe ist willkommen.
Ich habe nehmen schon einen Moment, um dies zu sehen, aber ich habe die Verwendung dieses Pakets in meinem Problem nicht verstehen –