无法使用 laravel 关系中的父模型获取子模型详细信息


Unable to get child model details using parent model in laravel relationship

嗨,伙计们,我正在尝试拉拉维尔模型关系。但是我无法使用子模型获取父模型详细信息。

我有一个父表'category' ('id', 'name', 'created_at', 'updated_at')和子表'subcategory' ('id', 'cid', 'name', 'created_at', 'updated_at')。 以下是我的模型:

品类型号:

class Cat extends Eloquent
{
protected $table="category";
public function Subcat()
{
    return $this->hasMany('CatSub', 'cid', 'id');
}   
}

子类别模型:

class CatSub extends Eloquent
{
protected $table="subcategory";
public function cat()
{
    return $this->belongsTo('Cat', 'cid', 'id');
}
}

当我尝试使用子模型获取父模型的详细信息时,它工作得很好

 $subcat=CatSub::all();
 foreach($subcat as $subcat):
 echo $subcat->cat->name;// displays list of parent categories
 endforeach;

但是当我尝试使用父模型访问子模型详细信息时,它不起作用。

它显示错误">未定义的属性$name"。

这是代码:

 $cat=Cat::all();
 foreach($cat as $cat):
 echo $cat->subcat->name;
 endforeach;

代码有什么问题?

我明白了。父模型"类别">有许多"子类别",因此必须在现有foreach中使用另一个foreach来获取子类别详细信息。

 $cat=Cat::all();
 foreach($cat as $cat):
 $tmp=$cat->subcat;
 foreach($tmp as $subcat):
 echo $subcat->name;
 endforeach;
 endforeach;