首页 > 解决方案 > Laravel Eloquent - 如何使用父模型仅获取每个父模型的 2 个子模型?

问题描述

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

标签: phpmysqllaravel

解决方案


您可以更新与下面示例的关系,也可以在查询中使用 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();

推荐阅读