2016-04-18 3 views
0

У меня есть таблица базы данных, как это:как определить: Cartegory и подкатегорию в Laravel 5.2

enter image description here

Я хочу сделать категорию и подкатегорию this.

Я выполнил шаги, указанные в ссылке, но я столкнулся с проблемой, аналогичной manojsharma20 на этой странице.

Подкатегория также показывает как категорию.

Как избежать отображения подкатегорий в качестве категории.

enter image description here

+0

[ссылка] https://laracasts.com/discuss/channels/general-discussion/categories-and-subcategories?page=1 –

+0

@james спасибо за редактирование –

ответ

1

Пусть ваше имя Модель Категория

  1. Создать функцию на категории модели

    общественная функция Чайлдс() { возвращение $ this-> hasMany ('App \ Категория', ' parent_id ',' id '); }

  2. с использованием метода выше на контроллере $ категории = Категория :: с ('Чайлдс') -> где ('parent_id', 0) -> получить();

2

Вот мой рабочий пример,

Пусть ваше имя Модель Category

/*--------------------------------------------------------- 
* Relationship with same table, means recursive key 
* -------------------------------------------------------- 
*/ 
//using this relation, you will get parent children 
public function cat_childs(){ 
    return $this->hasMany('App\Category', 'parent_id', 'id'); 
} 

//using this relation, it will tell you, who is the parent of children 
public function cat_parent(){ 
    return $this->belongsTo('App\Category', 'parent_id', 'id'); 
} 

так с помощью этого метода вы получите parent и его children

$list = \App\Category::with('cat_childs')->all(); 

//this will show you parent and its children 
echo "<pre>"; 
    print_r($list); 
echo "</pre>"; 
+0

еще показывает, как в оснастке. –

Смежные вопросы