Laravel, как создать Eloquent для поиска всех данных из таблицы child_category со связанной категорией и именем подкатегории? - PullRequest
0 голосов
/ 13 марта 2019

У меня есть три таблицы:

categories table fields id, category_name   
subcategories table fields id, category_id, subcategory_name
child_categories table fields id, category_id, subcategory_id, child_category_name

У меня есть три модели Категория, Подкатегория,

1) => Код модели категории

class Category extends model {
   public function subcategory(){
      return $this->hasMany(Subcategory::class);
   }

   public function Child_category(){
      return $this->hasMany(Child_category::class);
   }
}

2) => Код модели подкатегории

class Subcategory extends model {
   public function Category(){
      return $this->belongsTo(Category::class);
   }
}

3) => Код модели дочерней_категории

class Child_category extends model {
   public function Category(){
      return $this->belongsTo(Category::class);
   }
} 

как создать взаимосвязь Eloquent для поиска всех данных из таблицы child_categories с соответствующими именами категорий и подкатегорий?

1 Ответ

1 голос
/ 15 марта 2019

Как только отношения определены, вы можете получить их, просто вызвав свойство, имя которого совпадает с нужным вам отношением.

$category = Category::first();
$subcategory = $category->subcategory;

Если вы хотите получить все категории со всеми подкатегориями и дочернимикатегории в одну строку, вы можете использовать метод with(), чтобы эффективно загружать их.

$categories = Category::with(['subcategory', 'Child_category'])->get();

Это позволит выбрать все категории, затем выбрать все связанные подкатегории и дочерние категории и связать их соответствующим образом.

...