下面是增删改查的接口,在使用过程中按自己需求对代码进行更改

控制器代码

<?php

namespace AppHttpControllers;

use AppModelsFang;
use IlluminateHttpRequest;
use NetteSchemaValidationException;

class FangController extends Controller
{
    //房源添加
    public function create(Request $request){
        try {
            $data=$request->all();
            $res=Fang::create($data);
            return ['code'=>200,'data'=>$data,'msg'=>'添加成功'];
        }catch (Exception $exception){
            return ['data'=>$data,'msg'=>'服务器错误','code'=>203];
        }
    }

    //房源搜索
    public function select(Request $request){
        try {
            //获取搜索关键字
            $fang_name=$request->input('fang_name');
            // 在 Post 模型中执行搜索
            $data = Fang::where('fang_name', 'like', "%$fang_name%")
                ->orWhere('fang_name', 'like', "%$fang_name%")
                ->get();

            if($data){
                return ['data'=>$data,'msg'=>'搜索成功','code'=>200];
            }
        }catch (ValidationException $exception){
            return ['data'=>$fang_name,'msg'=>'服务器错误'];
        }
    }

    //房源删除
    public function delete(){
        try {
            $id=request()->get('id');
            $info=Fang::find($id);
            if ($info->is_recommend==1){
                return ['data'=>203,'msg'=>"该房源已被推荐,不可删除"];
            }else if (empty($info)){
                return response()->json(['message'=>'该房源不存在'],404);
            }
            $info->delete();
            return ['data'=>$info,'code'=>200,'msg'=>"删除成功"];
        }catch (ValidationException $exception){
            return ['data'=>$info,'msg'=>'服务器错误'];
        }
    }

    //房源修改
    public function update(Request $request){
        try {
//            $id=$request->all('id');
//            验证请求数据
            $request->validate([
                'fang_name'=>'required|string'
                //其他需要更新的字段验证规则
            ]);
            //根据传入的ID查找用户
            $id=$request->post('id');
            $data=Fang::find($id);
            //如果找不到用户,返回错误响应
            if (!$data) {
                return response()->json(['message' => '该房源不存在'], 404);
            }

            //更新用户信息
            $data->fang_name=$request->input('fang_name');
            //更新其他字段

            //保存用户更改
            $data->save();

            // 返回成功响应
            return response()->json(['message' => '修改成功']);
        }catch (Exception $exception){
            return ['states'=>1000,'msg'=>'验证不通过'];
        }
    }


}

路由api代码

include base_path('routes/xb/xb.php');

在routes目录下再创建一个目录和一个.php文件

<?php
use IlluminateSupportFacadesRoute;

Route::prefix('xb')->group(function (){
    //房源添加
    Route::post('fang_create',[AppHttpControllersFangController::class,'create']);
    //房源删除
    Route::any('fang_delete',[AppHttpControllersFangController::class,'delete']);
    //房源修改
    Route::any('fang_update',[AppHttpControllersFangController::class,'update']);
    //房源搜索
    Route::post('fang_select',[AppHttpControllersFangController::class,'select']);
});

使用过程中注意部分代码的更改

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/Boboschen/p/17468151.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!