laravel框架接口
下面是增删改查的接口,在使用过程中按自己需求对代码进行更改
控制器代码
<?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框架接口的更多相关文章
- 使用laravel框架开发接口时ajax post请求报错419
nginx服务器,使用laravel框架开发后台接口.get请求正常,但是post请求一直报错.H5和APP都不成功,code=419. 解决办法: 找到 VerifyCsrfToken.php文件( ...
- [php]laravel框架容器管理的一些要点
本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章很长,但是内容应该很有用,希望有需要的朋友能看到.php经验有限,不到位的地方,欢迎帮忙指正. ...
- php的laravel框架快速集成微信登录
最终的解决方案是:https://github.com/liuyunzhuge/php_weixin_provider,详细的介绍请往下阅读. 本文面向的是php语言laravel框架的用户,介绍的是 ...
- 使用 Laravel 框架:成为微信公众平台开发者
转: http://ninghao.net/blog/1441 作者:王皓发布于:2014-05-30 13:16更新于:2014-05-31 12:05 我们可以使用Laravel 框架为微信公众平 ...
- laravel框架总结(四) -- 服务容器
1.依赖 我们定义两个类:class Supperman 和 class Power,现在我们要使用Supperman ,而Supperman 依赖了Power class Supperman { p ...
- laravel框架中所用到的依赖注入
用Laravel开发前前后后有2个月左右了,之前一直写Java,就像找到Java和PHP之前的共同点,用Java的某些原理去理解PHP会发现还是有很多共通之处的.Java的依赖注入已经是一个很常见的概 ...
- Laravel框架中的make方法详解
为什么网上已经有这么多的介绍Laravel的执行流程了,Laravel的容器详解了,Laravel的特性了,Laravel的启动过程了之类的文章,我还要来再分享呢? 因为,每个人的思维方式和方向是不一 ...
- 装饰器模式以及Laravel框架下的中间件应用
Laravel框架的中间件使用:从请求进来到响应返回,经过中间件的层层包装,这种场景很适合用到一种设计模式---装饰器模式. 装饰器模式的作用,多种外界因素改变对象的行为.使用继承的方式改变行为不太被 ...
- laravel框架容器管理
来自http://www.cnblogs.com/chy1000/p/7072936.html 本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章 ...
- EasyWeChat使用(laravel框架下)
最近做了个项目是关于微信网页开发的,今天记录下在做项目中的关于微信这块遇到的一些坑 关于微信这块,用的是EasyWeChat,提高了开发的效率.在看EasyWeChat这个文档的时候发现了有专门针对l ...
随机推荐
- 题解:CF1957A Stickogon
CF1957A Stickogon 题意 题意十分简单,给予你 \(n\) 个棍子,问这些棍子可以构成多少个正多边形. 思路 说是可以构成多少个正多边形,所以我们可以用边最少的正多边形等边三角形来计数 ...
- python项目位置迁移后,虚拟环境无法使用
一.虚拟环境无法使用问题 修改虚拟环境目录/pyvenv.cfg文件中的路径 建议以下配置全部替换一下 修改虚拟环境目录/scripts/activate.bat文件中** VIRTUAL_ENV参数 ...
- 搭建lnmp环境-nginx(第一步)
建议: 本次lnmp采用yum形式安装,编译安装过于繁琐,操作不好还不如yum安装,所以不推荐. 全部安装在宿主机上,如果需要安装多个版本的软件才使用docker nginx无所谓版本了 刚安装好系统 ...
- Charles 4.6 小茶杯 网络抓包工具
下载官网: https://www.charlesproxy.com/download 破解网站: Charles破解工具 (zzzmode.com)
- adb对安卓app进行抓包(ip连接设备)
adb对安卓app进行抓包(ip连接设备) 一,首先将安卓设备的开发者模式打开,提示允许adb调试 二,自己的笔记本要和安卓设备在同一个网段下(同连一个WiFi就可以了) 三,在笔记本上根据ip来连接 ...
- android 点击退出按钮 结束所有的activity 回到手机主页面
android 点击退出按钮 结束所有的activity 回到手机主页面我 实现了回到主页面 但是在点击这个程序 他还是回到**退出的界面 ** 我要实现点击按钮回到手机主页面 在点击这个程序后就重新 ...
- SSH Exporter:基于Prometheus的远程系统性能监控神器
SSH Exporter English | 中文 介绍 SSH Exporter 是一个基于 Prometheus 规范的监控工具,通过 SSH 协议远程收集目标服务器的系统性能数据,如 CPU 使 ...
- 【Tutorial C】04 基本输入输出
输出单个字符 putchar('a'); // 字符输出函数,其功能是在终端(显示器)输出单个字符. putchar('\n'); // 支持转义换行 putchar(77); // 可以直接注入AS ...
- 【转载】 梯度的直观理解_谈谈优化算法之一(动量法、Nesterov法、自然梯度法)
原文地址: https://blog.csdn.net/weixin_34613462/article/details/112333623 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA ...
- 多线程之深入理解park与unpark
1.背景 面试官问,如何暂停一个线程勒..... 说说你对park的理解....... 2.代码 package com.ldp.demo01; import com.common.MyThreadU ...