В моем приложении Laravel у меня есть собственная таблица ссылок (термины) следующим образом:
Id Name Slug Parent
4 Home home 0
5 Travel travel 0
6 Beauty beauty 0
7 Parenting parenting 0
8 Cooking cooking 4
9 Skin Care skin-care 6
10 Hair Care hair-care 6
11 Facial facial 6
Мне нужно заполнить раскрывающийся список, показывающий взаимосвязь вложенности. Я создал самореферентные отношения в терминах модели
public function terms()
{
return $this->hasMany('App\Admin\Term', 'parent');
}
В контроллере у меня есть следующий код:
$terms = \App\Admin\Term::where('parent',0)->get();
function buildT($terms, $level=1){
foreach($terms as $term){
return "<option>". str_repeat("-", $level) . $term->name . "</option>";
if ( count($term->terms)){
buildT($term->terms, $level+1);
}
}
}
echo "<select>" . buildT($terms) . "</select>";
Я понимаю, что не правильно пишу код. Мне не понятно, как вернуть значение рекурсивной функции. Не могли бы вы мне помочь написать код, чтобы выходные данные представляли собой список выбора (раскрывающийся список, показывающий вложенные отношения).