ITPub博客

首页 > IT职业 > IT生活 > 用thinkphp进行增删改查的操作

用thinkphp进行增删改查的操作

IT生活 作者:petterchx 时间:2021-09-09 10:14:14 0 删除 编辑

在route.php下注册api:

Route::resource('api/:ver/books', 'api/:ver.books');
Route::post('api/:ver/books', 'api/:ver.books/save');
Route::delete('api/:ver/books', 'api/:ver.books/delete');
Route::put('api/:ver/books', 'api/:ver.books/update');


book表的结构:

图片描述

在appcommonmodel下建立book的model:

class Books extends Base {


    public function getBooks($data = []) {

        $result = $this->select();
        return $result;
    }

}

然后在建一个Books.php

图片描述

class Books extends Controller
{

    public function index()
    {
        // 小伙伴仿照我们之前讲解的validate验证机制 去做相关校验
        $data = input('get.');
        $result = model('Books')->getBooks();
        return $result;
    }

    public function save()
    {
        $postData  =  input('param.');

        if(empty($postData["bookid"])) {
            $data = [];
            $data['bookName'] = $postData["bookName"];
            $data['book_description'] = $postData["bookDescription"];
            $data['icon'] = "http://pij4ed5ao.bkt.clouddn.com/33.jpeg";
            try {
                model('Books')->add($data);
            }catch (Exception $e) {
                return show(config('code.error'), $e->getMessage(), [], 500);
            }
        }else{
            try {
                model('Books')->save([
                    'bookName' => $postData["bookName"]
                ],[
                    'bookid' => $postData["bookid"]
                ]);

            }catch (Exception $e) {
                return show(config('code.error'), $e->getMessage(), [], 500);
            }
        }


        return null;
    }


    public function delete() {
        $id = input('delete.bookid', 0, 'intval');
        if(empty($id)) {
            return show(config('code.error'), 'id不存在', [], 404);
        }

        $data = [
            'bookid' => $id,
        ];
        // 查询库里面是否存在 点赞
        $userNews = model('Books')->get($data);
        if(empty($userNews)) {
            return show(config('code.error'), '没有这条记录', [], 401);
        }

        try {
                 model('Books')
                ->where($data)
                ->delete();
        }catch (Exception $e) {
            return show(config('code.error'), '内部错误 点赞失败', [], 500);
        }
    }


    public function update() {
        $putData  =  input('param.');
        try {
            model('Books')->save([
                'bookName' => $putData["bookName"]
            ],[
                'bookid' => $putData["bookid"]
            ]);

        }catch (Exception $e) {
            return show(config('code.error'), $e->getMessage(), [], 500);
        }
        return null;
    }




}

在postman中就可以测试:

图片描述



代码在https://coding.net/u/nickgao/p/phpUserLogin/git

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4606/viewspace-2818661/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-10-24

  • 博文量
    131
  • 访问量
    30134