function ($params) { return [ 'filters' => $params['filters'], 'fields' => ['id', 'locale', 'title', 'subtitle', 'cover', 'content', 'user_id', 'is_top', 'sort', 'status', 'publish_time', 'created_at', 'updated_at'], 'relations' => [ 'creater' => ['id', 'nickname',], // 'comment' => ['id', 'article_id', 'content', 'avatar', 'name',], ], 'sorts' => [ ['field' => 'is_top', 'direction' => 'desc'], ['field' => 'sort', 'direction' => 'desc'], ['field' => 'publish_time', 'direction' => 'desc'], ], 'pagination' => [ 'page' => $params['page'] ?? 1, 'per_page' => $params['per_page'] ?? 10, ] ]; }, 'home' => function ($params) { return [ 'filters' => $params['filters'], 'fields' => ['id', 'locale', 'title', 'subtitle', 'cover', 'content', 'user_id', 'is_top', 'sort', 'status', 'publish_time', 'created_at', 'updated_at'], 'relations' => [ 'creater' => ['id', 'nickname',], 'comment' => ['id', 'article_id', 'content', 'avatar', 'name',], ], 'sorts' => [ ['field' => 'publish_time', 'direction' => 'desc'], ], 'pagination' => [ 'page' => $params['page'] ?? 1, 'per_page' => $params['per_page'] ?? 3, ] ]; }, 'show' => function ($params) { return [ 'filters' => [ ['field' => 'status', 'operator' => '=', 'value' => '1'], ['field' => 'id', 'operator' => '=', 'value' => $params['id']] ], 'fields' => ['id', 'locale', 'title', 'subtitle', 'cover', 'content', 'user_id', 'is_top', 'sort', 'status', 'publish_time', 'created_at', 'updated_at'], 'relations' => [ 'creater' => ['id', 'nickname',], 'comment' => ['id', 'article_id', 'content', 'avatar', 'name',], // 'translation' => ['model_id', 'name'] ], ]; } ]; } }