Laravel, как создать Eloquent для поиска всех данных из таблицы child_category со связанной категорией и именем подкатегории?
У меня три стола:
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 ответ
Как только отношения определены, вы можете получить их, просто вызвав свойство, имя которого совпадает с нужным вам отношением.
$category = Category::first();
$subcategory = $category->subcategory;
Если вы хотите объединить все категории со всеми подкатегориями и дочерними категориями в одну строку, вы можете использовать with()
способ эффективно их загружать.
$categories = Category::with(['subcategory', 'Child_category'])->get();
Это приведет к извлечению всех категорий, затем извлечет все связанные подкатегории и дочерние категории и свяжет их соответствующим образом.