file.blade.php
@foreach($places as $p)
<li>
<a href="">{{ $p->name }}</a>
@if($p->children->count())
@include ('tree', ['entries' => $p->children]);
@endif
<li>
@endforeach
</ul>
我正试图在我的视图中递归打印树,我在数据库中只有2行(父和子),这里的问题是p->children->count()
返回一个空字符串,而不是0是否被证实是真的,计算孩子的正确方法是什么?
Maximum function nesting level of '256' reached, aborting!
因为即使没有孩子也会返回true
这就是我在控制器中获取它的方式:
public function index()
{
$data = [];
$data['places'] = Place::with(['children', 'parent'])->get();
return view('places/index', $data);
}
更新:
class Place extends Model
{
public function parent()
{
return $this->belongsTo('App\Place', 'parent_id');
}
public function children()
{
return $this->hasMany('App\Place', 'parent_id');
}
}