Graphql实现增删改查

图库结构

type.grahql
在这里插入图片描述

#学生信息
type Student {
   
 id: ID! #id
 name: String! @search(by: [hash regexp]) #姓名
 classes: String! @search(by: [hash regexp]) #班级
 sex:Int! @search #性别 01女
 rank: Int @search #排名
 old: Int @search #年龄
}

1. 查询

1.1简单查询

//studentGraphql.vue
<script>
import gql from "graphql-tag";

//sql语句
export default {
   
  fragments: {
   
	getStudent: gql`
		query Student(
	        $filter: StudentFilter
	        $offset: Int
	        $first: Int
	      ) {
	      //计算学生总数
	        aggregateStudentCount(filter: $filter) {
	          count
	        }
	        //学生相关属性
	        queryStudent(
	          filter: $filter
	          order: { desc: created }
	          offset: $offset
	          first: $first
	        ) {
	          id
	          name
	          classes
	          sex
	          rank
	          old
	        }
	      }
	`,
	},
};
</script>
//在vue中获取
studentList:[] //存储学生列表

getStudent(){
   
	//传入gql的参数格式
	var studentVariables = {
   
		//filter对应queryStudent下的参数
        filter: {
   
          id: [this.id],
          name: {
   }
        }
      };
    if(this.name){
   
    	//eq为普通索引,一般赋值时需带上,即 name:{eq:"小明"}
    	//id例外,直接用[],如:id:['x01']
    	studentVariables.filter.name.eq = this.name
    }
    	
	this.$apollo.addSmartQuery("studentList", {
   
		//no-cache:清空缓存,刷新表格时不会因为缓存而不更新表格内容
        fetchPolicy: "no-cache",
        query: studentGraphql.fragments.getStudent,
        variables
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值