goravel 学习笔记
大约 1 分钟
别名
alias gg='go run . artisan'
alias ggm='gg migrate'
alias ggm='gg make:model'
alias ggc='gg make:controller'
alias gg-sd="gg db:seed"
alias gg-m="gg db:migrate"
开发一个扩展包
gg make:package elastic
将包赋值出来完成功能的开发,创建一个github仓库
go mod init github.com/orangbus/elastic
提交代码
git init
git add .
git push master
发布版本号(注意:版本格式需要是 x.x.x 否则获取扩展包的时候获取不到指定的版本)
git tag -a <tagname> -m '描述信息' // git tag -a v1.0.0
git push origin v1.0.0
查看扩展包的版本列表
go list -m -versions github.com/orangbus/elastic
快捷操作
@list-search
func (r *$controller$) List(ctx http.Context) http.Response {
$name$ := ctx.Request().Input("$name$")
db := facades.Orm().Query()
if $name$ != "" {
db.Where("$name$", $name$)
}
var list []models.$models$
var total int64
page, limit := utils.GetLimit(ctx)
if err := db.OrderBy("id").Paginate(page, limit, &list, &total); err != nil {
return resp.Error(ctx, err)
}
return resp.List(ctx, list, total)
}
@list
func (r *$controller$) List(ctx http.Context) http.Response {
$name$ := ctx.Request().Input("$name$")
var list []models.$models$
var total int64
page, limit := utils.GetLimit(ctx)
if err := facades.Orm().Query().OrderBy("id").Paginate(page, limit, &list, &total); err != nil {
return resp.Error(ctx, err)
}
return resp.List(ctx, list, total)
}
@store
@page
var list []models.Coupon
var total int64
page, limit := utils.GetLimit(ctx)
@delete
func (r *$controller$) Delete(ctx http.Context) http.Response {
id := ctx.Request().Input("id")
var ids []any
if strings.Contains(id, ",") {
for _, v := range strings.Split(id, ",") {
ids = append(ids, cast.ToInt(v))
}
} else {
ids = append(ids, cast.ToInt(id))
}
if _, err := facades.Orm().Query().WhereIn("id", ids).Delete(&models.$model$); err != nil {
return resp.Error(ctx, err)
}
return resp.Success(ctx, "删除成功!")
}
@route
$name$Controller := $controller_package$
router.Prefix("coupon").Group(func(router route.Router) {
router.Get("list", $name$Controller.List)
router.Post("store", $name$Controller.Store)
router.Post("delete", $name$Controller.Delete)
})