Php Laravel雄辩-如何使用父模型仅获得每个父模型的2个子模型?

Php Laravel雄辩-如何使用父模型仅获得每个父模型的2个子模型?,php,mysql,laravel,Php,Mysql,Laravel,如何使用父模型仅获取每个父模型的2个子模型? 我的父模型是“类别”,子模型是“子类别”。 我想用子类别获取类别,但每个类别只能获取2个子类别。 请帮助我,如何获取?您可以更新与下面示例的关系,也可以在查询中使用take,因此不是在回调中,而是在回调之后 class Category extends Model { public function subcategory() { return $this->hasMany('App\Subcategory')

如何使用父模型仅获取每个父模型的2个子模型? 我的父模型是“类别”,子模型是“子类别”。 我想用子类别获取类别,但每个类别只能获取2个子类别。
请帮助我,如何获取?

您可以更新与下面示例的关系,也可以在查询中使用take,因此不是在回调中,而是在回调之后

class Category extends Model {

    public function subcategory()
    {
        return $this->hasMany('App\Subcategory');
    }

    public function limitSubcategory()
    {
        return $this->hasMany('App\Subcategory')->limit(2);
    }

}
现在你可以这样做了

Category::with(['limitSubcategory' => function($query) {
    $query->where('created_at', '>', $someDate);
}])->get();

我也用过同样的方法,但是它只得到了2个子类,不是每个类都有2个子类我想得到这样的分类1->子类1,子类2,子类2->子类1,子类2,子类3->子类1,子类2,总共5个分类,每个分类有5个子类