2
Schema::create('categorys', function (Blueprint $table) {
$table->increments('id');
$table->string('category_name',50);
$table->integer('category_id')->unsigned();
$table->foreign('category_id')->references('id')->on('categorys');
$table->softDeletes();
$table->timestamps();
});
을이 테이블이이와 나는이 같은 트리로 데이터를 얻을 때 :
나는이 두 가지 방법이 내 모델의 :
public function get_parent()
{
return $this->belongsTo('App\Category','id','category_id');
}
public function get_sons()
{
return $this->hasMany('App\Category','id','category_id');
}
내 블레이드에 이렇게 나는 이것을했다.
@foreach($categorys->where('category_id','=',null) as $category)
<a>{{$category->category_name}}</a>
@foreach($category->get_sons as $dd)
<a>{{$dd->category_name}}</a>
<br />
@foreach($dd->get_sons as $cc)
<a>{{$cc->category_name}}</a>
<br />
@endforeach
@endforeach
<br />
@endforeach
이 경우 단지 3 배의 아들을 갖게됩니다. 때때로 12 번 15 번입니다.
이렇게 작동하면 foreach
을 15 시간 내 블레이드에 써야합니다. foreach
을 foreach
안에 넣지 않고도 데이터가 없을 때까지 while
문을 쓸 수 있습니까? foreach
등의 내부에 있습니까?