diff --git a/app/admin/controller/v1/Article.php b/app/admin/controller/v1/Article.php index d9b3aadc..536efb74 100644 --- a/app/admin/controller/v1/Article.php +++ b/app/admin/controller/v1/Article.php @@ -21,7 +21,6 @@ class Article $article = ArticleModel::withoutField([ 'language_id', - 'category_id', 'author', 'source', 'desc', @@ -33,9 +32,10 @@ class Article 'seo_keywords', 'seo_desc' ]) + ->with('category') ->where(function($query) use($param) { if (isset($param['category_id'])) { - $query->category($param['category_id']); + $query->where('category_id', '=', $param['category_id']); } }) ->withSearch(['title', 'created_at'], (function() use($param) { @@ -54,7 +54,12 @@ class Article ->paginate([ 'page' => $param['page'], 'list_rows' => $param['limit'], - ]); + ]) + ->hidden([ + 'category', + 'category_id' + ]) + ->bindAttr('category', ['category_name' => 'name']); return success('获取成功', $article); } diff --git a/app/admin/model/v1/ArticleModel.php b/app/admin/model/v1/ArticleModel.php index 77c1f665..c4848c59 100644 --- a/app/admin/model/v1/ArticleModel.php +++ b/app/admin/model/v1/ArticleModel.php @@ -16,6 +16,12 @@ class ArticleModel extends ArticleBaseModel // 软删除标记数据字段 protected $deleteTime = 'deleted_at'; + // 关联分类 + public function category() + { + return $this->belongsTo(ArticleCategoryModel::class, 'category_id', 'id'); + } + // 搜索名称 public function searchTitleAttr($query, $value, $data) { diff --git a/database/migrations/20241220062631_create_article.php b/database/migrations/20241220062631_create_article.php index 6c9bac7f..17a88c3a 100644 --- a/database/migrations/20241220062631_create_article.php +++ b/database/migrations/20241220062631_create_article.php @@ -44,6 +44,7 @@ class CreateArticle extends Migrator ->addColumn('seo_title', 'string', ['limit' => 255, 'null' => true, 'default' => null, 'comment' => 'SEO标题']) ->addColumn('seo_keywords', 'string', ['limit' => 255, 'null' => true, 'default' => null, 'comment' => 'SEO关键字']) ->addColumn('seo_desc', 'string', ['limit' => 255, 'null' => true, 'default' => null, 'comment' => 'SEO描述']) + ->addColumn('enabled', 'boolean', ['null' => false, 'default' => 1, 'comment' => '是否启用:1是,-1否']) ->addColumn('release_time', 'datetime', ['null' => false, 'comment' => '发布时间']) ->addColumn('created_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP', 'comment' => '创建时间']) ->addColumn('updated_at', 'timestamp', ['null' => false, 'default' => 'CURRENT_TIMESTAMP', 'update' => 'CURRENT_TIMESTAMP', 'comment' => '更新时间'])