用thinkphp進行增刪改查的操作

petterchx發表於2021-09-09

在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'] = "";
            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中就可以測試:

圖片描述



程式碼在

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4606/viewspace-2818661/,如需轉載,請註明出處,否則將追究法律責任。

相關文章