首先在数据库中建立一个学生成绩信息表
DROP TABLE IF EXISTS `bro_ceshiapi`;
CREATE TABLE `bro_ceshiapi` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`name` varchar(100) DEFAULT NULL COMMENT '姓名',
`class` varchar(100) DEFAULT NULL COMMENT '班级',
`score` decimal(10,2) DEFAULT NULL COMMENT '分数',
`number` int(11) DEFAULT NULL COMMENT '学号',
`createtime` int(11) DEFAULT NULL COMMENT '创建时间',
`updatetime` int(11) DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
然后在api的demo控制器中新建方法
目前api是未登录没有权限状态,这时需要我们去调用api中user控制器中登录方法
此时报错参数不正确,这时我们就不能使用网页api测试,需要使用到apipost工具进行登录测试
开始添加数据
//添加
public function stu_add(){
//初始化request
// $request = Request::instance();
$params = $this->request->param();
//写入数据
$res = Db::name('ceshiapi')->insert($params);
$this->success('ok',$res);
}
参数要跟表中字段一致,否则会报错
错误
批量添加
//批量添加
public function stu_addMore(){
//批量添加一般传入的数据都为数组
$params = $this->request->param('arr/a');
//查看当前参数传入数据
$this->success('ok',$params);
}
上述虽然成功但是并没有打印出传入参数数据
完整的增加
//批量添加
public function stu_addMore(){
//批量添加一般传入的数据都为数组
$params = $this->request->param('arr/a');
//查看当前参数传入数据
//$this->success('ok',$params);
//判断当前传入数据是否为数组形式
if (!is_array($params)){
$this->error('数据格式错误');
}
try {
//批量添加数据
$res = Db::name('ceshiapi')->insertAll($params);
if ($res){
$this->success("插入成功".$res."条",$res);
}else{
$this->error('插入失败');
}
}catch (Exception $e){
$this->error('插入失败',$e->getMessage());
}
}
查询数据
//查询数据
public function get_stu(){
$data = model('admin/Ceshiapi')->select();
$this->success('ok',$data);
}
业务场景:根据条件进行查询
//查询数据
public function get_stu(){
//参数传递字段name
$name = input('name','');
$class = input('class','');
$where = [];
if ($name){
$where['name'] =['like',"%$name%"];
}
if ($class){
$where['class'] =['like',"%$class%"];
}
$data = model('admin/Ceshiapi')->where($where)->select();
$this->success('成功',$data);
}
删除数据
//删除数据,根据id单个删除
public function del_stu(){
$id = input('id','');
if (!$id){
$this->error('缺少参数id');
}
$res = model('admin/Ceshiapi')->where('id',$id)->delete();
if ($res){
$this->success('删除成功',$res);
}
$this->error('删除失败',$res);
}
//删除数据,根据ids批量删除
public function del_stu_ids(){
$ids = input('ids/a',[]);
// if (!$id){
// $this->error('缺少参数id');
// }
$res = model('admin/Ceshiapi')->where('id','in',$ids)->delete();
if ($res){
$this->success('删除成功',$res);
}
$this->error('删除失败',$res);
}
//删除数据,根据name多个删除
public function del_stu_byName(){
$name = input('name','');
if (!$name){
$this->error('缺少参数name');
}
$res = model('admin/Ceshiapi')->where('name','like',"%$name%")->delete();
if ($res){
$this->success('删除成功',$res);
}
$this->error('删除失败',$res);
}
更新数据
//编辑数据,根据id编辑
public function edit_stu(){
$id = input('id/d',0);
$name = input('name','');
if (!$id){
$this->error('当前没有传入参数id');
}
$res = model('admin/Ceshiapi')->where('id',$id)->update(['name' =>$name,'updatetime'=>time()]);
if ($res){
$this->success('编辑成功',$res);
}
$this->error('编辑失败');
}