我有3层模型关系 祖父母班级
class GrandParent extends Model
{
protected $guarded = [];
public function parents()
{
return $this->hasMany('App\Parent');
}
public function childs()
{
return $this->hasManyThrough('App\Childs', 'App\Parent');
}
}
父类
class Parent extends Model
{
public function grandParent() {
return $this->belongsTo('App\GrandParent', 'grandParent_id', 'id');
}
public function child()
{
return $this->hasMany('App\Child');
}
}
儿童班
class Child extends Model
{
public function parent() {
return $this->belongsTo('App\Parent', 'parent_id', 'id');
}
}
我希望通过grandParent ID获取Child列表
有任何方法可以通过简单的查询获取列表 我正在使用laravel 5.5 感谢。
答案 0 :(得分:0)
您需要添加来自user_table的grandparent_id和user_id,如下所示。
public function childs()
{
return $this->hasManyThrough('App\Childs', 'App\Parent','grandparent_id','parent_id','id','id');
}
在您的Controller文件中。
$data = Grandparent::find($grandparent_id)->childs;