models->article.go
 models->articleCate.go 
package models
type Article struct {
	Id     int
	Title  string
	CateId int //外键
	State  int
	// ArticleCate ArticleCate `gorm:"foreignKey:CateId"`
}
//表示配置操作数据库的表名称
func (Article) TableName() string {
	return "article"
}
package models
//foreignKey外键  如果是表名称加上Id的话默认也可以不配置   如果不是我们需要通过foreignKey配置外键
//references表示的是主键    默认就是Id   如果是Id的话可以不配置
type ArticleCate struct {
	Id      int //主键
	Title   string
	State   int
	Article []Article `gorm:"foreignKey:CateId;references:Id"`
}
//表示配置操作数据库的表名称
func (ArticleCate) TableName() string {
	return "article_cate"
}
controllers->admin->articleController.go
package admin
import (
	"gindemo16/models"
	"net/http"
	"github.com/gin-gonic/gin"
)
type ArticleController struct {
	BaseController
}
func (con ArticleController) Index(c *gin.Context) {
	//获取所有的文章
	// articleList := []models.Article{}
	// models.DB.Find(&articleList)
	// c.JSON(200, gin.H{
	// 	"result": articleList,
	// })
	// 查询文章 获取文章对应的分类
	// articleList := []models.Article{}
	// models.DB.Preload("ArticleCate").Find(&articleList)
	// c.JSON(200, gin.H{
	// 	"result": articleList,
	// })
	//获取所有的分类
	articleCateList := []models.ArticleCate{}
	models.DB.Preload("Article").Find(&articleCateList)
	c.JSON(200, gin.H{
		"result": articleCateList,
	})
}
func (con ArticleController) Add(c *gin.Context) {
	c.String(http.StatusOK, "-add--文章-")
}
func (con ArticleController) Edit(c *gin.Context) {
	c.String(http.StatusOK, "-Edit---文章---")
}
 
                    
                 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号