Cair
Куцкаме по малку
Сакам да приказам вгнездени категории и имам база
id | name | parent_id крудот ми работи ко со треба неможам у дродаун да ги приказам категориите вгнездени
Модел
У контролер
$allCategories = Category::tree();
У блејд
id | name | parent_id крудот ми работи ко со треба неможам у дродаун да ги приказам категориите вгнездени
- --- Php
- ------ Laravel
- --------- Version
- ------------ V 5.7
- --- Python
- ------ Django
- --- Ruby
Модел
PHP:
public function parent()
{
return $this->belongsTo(Category::class, 'parent_id', 'id');
}
/**
* @return \Illuminate\Database\Eloquent\Relations\HasMany
*/
public function children()
{
return $this->hasMany(Category::class, 'parent_id', 'id');
}
public static function tree() {
return static::where('parent_id', '!=', NULL)->get();
}
$allCategories = Category::tree();
У блејд
PHP:
<div class="row form-group">
<label class="col-form-label col-sm-2">Categories</label>
<div class="col-sm-6">
<select id="parent_id" name="parent_id" class="form-control">
@if(!empty($category->parent_id)){
<option value="{{ $category->parent_id }}">{{ $category->parent->name }}</option>
} @else {
<option value="0">Select</option>
}
@endif
@foreach($allCategories as $item)
<option value="{{ $item->id }}">{{ $item->name }}</option>
@foreach($item['children'] as $child)
<option value="{{ $child->id }}">-{{ $child->name }}</option>
@endforeach
@endforeach
</select>
</div>
</div>