Laravel : 如何通过 parent 的 parent 获取元素列表

Laravel : how to get the list of element by the parent's parent

我有3层模型关系 盛大parentClass

class GrandParent extends Model
    {
        protected $guarded = [];


        public function parents()
        {
         return $this->hasMany('App\Parent');
        } 
        public function childs()
        {
            return $this->hasManyThrough('App\Childs', 'App\Parent');
        }
     }

parentClass

class Parent extends Model
    {

         public function grandParent() {
          return $this->belongsTo('App\GrandParent', 'grandParent_id', 'id');
         }
         public function child()
         {
          return $this->hasMany('App\Child');
         } 
    }

child class

class Child extends Model
{

    public function parent() {
        return $this->belongsTo('App\Parent', 'parent_id', 'id');
       }
}

我想通过祖父母 ID

获取 Child 的列表

有什么方法可以通过简单的查询得到列表 我正在使用 laravel 5.5 谢谢。

您需要从 user_table 添加 grandparent_id 和 user_id,如下所示。

public function childs()
{
   return $this->hasManyThrough('App\Childs', 'App\Parent','grandparent_id','parent_id','id','id');
}

在您的控制器文件中。

$data = Grandparent::find($grandparent_id)->childs;