Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel如何建立雄辩的关系,以从child_category表中找到所有数据,并与相关类别&;子类别名称?_Laravel_Eloquent_Eloquent Relationship_Laravel Datatables - Fatal编程技术网

Laravel如何建立雄辩的关系,以从child_category表中找到所有数据,并与相关类别&;子类别名称?

Laravel如何建立雄辩的关系,以从child_category表中找到所有数据,并与相关类别&;子类别名称?,laravel,eloquent,eloquent-relationship,laravel-datatables,Laravel,Eloquent,Eloquent Relationship,Laravel Datatables,我有三张桌子: 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 mode

我有三张桌子:

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);
   }
}
class Subcategory extends model {
   public function Category(){
      return $this->belongsTo(Category::class);
   }
}
class Child_category extends model {
   public function Category(){
      return $this->belongsTo(Category::class);
   }
} 
2) =>子类别模型代码

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

   public function Child_category(){
      return $this->hasMany(Child_category::class);
   }
}
class Subcategory extends model {
   public function Category(){
      return $this->belongsTo(Category::class);
   }
}
class Child_category extends model {
   public function Category(){
      return $this->belongsTo(Category::class);
   }
} 
3) =>子类别模型代码

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

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

如何建立有说服力的关系以从具有相关类别和子类别名称的子类别表中查找所有数据?

一旦定义了关系,您只需调用与所需关系具有相同名称的属性即可获得它们

$category = Category::first();
$subcategory = $category->subcategory;
如果希望在一行中获得所有类别以及所有子类别和子类别,可以使用
with()
方法高效地加载它们

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

这将获取所有类别,然后获取所有相关子类别和子类别,并将它们适当关联。

请包含代码,说明如何设置关系以及您已经尝试了什么。我建议查看嵌套集。我添加了数据库表字段名,@jfadich请看一下好吗?@nazmulhaqued仍然没有任何Laravel代码。请将问题更新为包含定义该问题的代码。@jfadich您现在可以检查一下吗?