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

控制器代码

<?php

namespace App\Http\Controllers;

use App\Models\Fang;
use Illuminate\Http\Request;
use Nette\Schema\ValidationException; 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 Illuminate\Support\Facades\Route; Route::prefix('xb')->group(function (){
//房源添加
Route::post('fang_create',[\App\Http\Controllers\FangController::class,'create']);
//房源删除
Route::any('fang_delete',[\App\Http\Controllers\FangController::class,'delete']);
//房源修改
Route::any('fang_update',[\App\Http\Controllers\FangController::class,'update']);
//房源搜索
Route::post('fang_select',[\App\Http\Controllers\FangController::class,'select']);
});

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

laravel框架接口的更多相关文章

  1. 使用laravel框架开发接口时ajax post请求报错419

    nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...

  2. [php]laravel框架容器管理的一些要点

    本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...

  3. php的laravel框架快速集成微信登录

    最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...

  4. 使用 Laravel 框架:成为微信公众平台开发者

    转: http://ninghao.net/blog/1441 作者:王皓发布于:2014-05-30 13:16更新于:2014-05-31 12:05 我们可以使用Laravel 框架为微信公众平 ...

  5. laravel框架总结(四) -- 服务容器

    1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { p ...

  6. laravel框架中所用到的依赖注入

    用Laravel开发前前后后有2个月左右了,之前一直写Java,就像找到Java和PHP之前的共同点,用Java的某些原理去理解PHP会发现还是有很多共通之处的.Java的依赖注入已经是一个很常见的概 ...

  7. Laravel框架中的make方法详解

    为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...

  8. 装饰器模式以及Laravel框架下的中间件应用

    Laravel框架的中间件使用:从请求进来到响应返回,经过中间件的层层包装,这种场景很适合用到一种设计模式---装饰器模式. 装饰器模式的作用,多种外界因素改变对象的行为.使用继承的方式改变行为不太被 ...

  9. laravel框架容器管理

    来自http://www.cnblogs.com/chy1000/p/7072936.html 本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章 ...

  10. EasyWeChat使用(laravel框架下)

    最近做了个项目是关于微信网页开发的,今天记录下在做项目中的关于微信这块遇到的一些坑 关于微信这块,用的是EasyWeChat,提高了开发的效率.在看EasyWeChat这个文档的时候发现了有专门针对l ...

随机推荐

  1. Jenkins 添加Linux固定代理节点

    实践环境 Jenkins 2.304 jdk-8u131-linux-x64.rpm centos-release-7-9.2009.1.el7.centos.x86_64 操作步骤 安装JDK 在预 ...

  2. c++17

    std::variant<std::string,int,float>://作为联合体 using va = std::variant<std::string, int, float ...

  3. 汽车模具设计软件 —— 达索集团的Catia

    相关: https://www.3ds.com/zh/products-services/catia/ Catia是Dassault Systems公司推出的产品造型软件,广泛应用于汽车.航空.机械等 ...

  4. python版本的“共轭梯度法”算法代码

    在看代码的过程中遇到了共轭梯度法这个概念,对这个算法的数学解释看过几遍,推导看过了,感觉懂了,然后过上一些日子就又忘记了,然后又看了一遍推导,然后过了一些日子也就又忘记了,最后想想这个算法的数学解释就 ...

  5. 乌克兰学者的学术图谱case3

    ============================================ 背景: 弗兰采维奇材料问题研究是欧洲最大的材料科研院所,在核电.航空.航天.军工及其他装备制造领域的先进材料研 ...

  6. 微信支付java版(含视频讲解)

    1.背景 实际开发中用到微信支付的概率非常大, 至于为什么这里不必要我多少...... 微信支付大体需要对接的核心接口有 其实大部分支付都是这些,就像上一节我们讲的支付宝支付一样 这里以常用的H5支付 ...

  7. Apache DolphinScheduler 如何实现自动化打包+单机/集群部署?

    Apache DolphinScheduler 是一款开源的分布式任务调度系统,旨在帮助用户实现复杂任务的自动化调度和管理.DolphinScheduler 支持多种任务类型,可以在单机或集群环境下运 ...

  8. 用户案例 | Apache DolphinScheduler 离线调度在自如多业务场景下的应用与实践

    用户案例 | 自如 随着自如业务的快速发展,不断增长的调度任务和历史逾万的存量任务对平台稳定性提出了更高的要求.同时,众多非专业开发人员也需要一种更为"亲民"的调度平台使用体验. ...

  9. @ComponentScan

    @ComponentScan 是一个注解,用于Spring框架,它允许开发者指定Spring应该扫描哪个包或包下的子包来寻找组件(如@Component.@Service.@Repository等注解 ...

  10. SMU Summer 2023 Contest Round 3

    SMU Summer 2023 Contest Round 3 A. Curriculum Vitae 题意就是要求\(1\)后面不能有\(0\)的情况下的子序列最长长度, 也就是求一个最长不下降子序 ...