专业5 laravel框架添加,删除,恢复,分页,搜索接口
//////////////////////资源路由
//商品资源路由恢复
Route::get('/restore/{id}','goodController@restore');
//商品资源路由添加,删除 ,展示
Route::resource('good','goodController');

/////////////////////////////////////////////资源路由控制器页面
<?php
namespace App\Http\Controllers;
use App\models\goodModel;
use App\models\goodModels;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Validator;
class goodController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
//展示页面
//..搜索,接受搜索关键字
$word= $request->input('word');
//分页接口
//1.总条数
$count = DB::table('good_test')->count();
//2.设置首页当前页
$first_page = $request->input('page', 1);
//3.每页显示的条数
$num = 3;
//4.一共有几页,也可以求出最后一页
$last_page = ceil($count / $num);
//5.计算偏移量
$offset = ($first_page - 1) * $num;
$data = DB::table('good_test')
// ->where('good_name','like',"%$word%")这是分页的接口测试
->where('good_name','like',"%$word%")
->offset($offset)
->limit($num)
->get();
// var_dump($data);
if ($data) {
//返回接口三要素
$arr['staus']='200';
$arr['info']='分页(模糊查询)完成';
$arr['data']=$data;
//返回json对象
return response()->json($arr);
}
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//添加页面
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//接受表单页面
$params = $request->all();
// var_dump($params);
//进行验证
$validata = Validator::make($params, [
'good_name' => 'required',
'good_price' => 'required',
'good_img' => 'required',
], [
'good_name.required' => '商品名称不可以为空',
'good_price.required' => '商品价格不可以为空',
'good_img.required' => '商品封面不可以为空',
]);
if ($validata->fails()) {
$errors = $validata->errors()->first();
//接口三要素
// echo $errors;
$arr['status'] = 500;
$arr['info'] = $errors;
$arr['data'] = $params;
//返回json对象
return response()->json($arr);
}
//进行图片的处理
$path = url('') . '/' . $request->good_img->store('good_imgs');
$params['good_img'] = $path;
//进行模型调用,添加入库
$res = goodModels::store($params);
if ($res) {
//返回接口三要素
$arr['status'] = 200;
$arr['info'] = '添加成功';
$arr['data'] = $params;
//返回方式为json对象
return response()->json($arr);
} else {
$arr['status'] = 404;
$arr['info'] = '添加失败';
$arr['data'] = $params;
//返回方式为json对象
return response()->json($arr);
}
}




/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//展示修改页面
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//编辑修改
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//修改页面
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
$res=goodModels::del($id);
if ($res){
//返回三要素
$arr['status']=200;
$arr['info']='删除成功';
$arr['data']=$res;
//返回json对象
return response()->json($arr);
}else{
$arr['status']=500;
$arr['info']='删除失败';
$arr['data']=$res;
//返回json对象
return response()->json($arr);
}
}


//删除恢复
public function restore($id){
//调用恢复的模型
$res=goodModels::restore($id);
var_dump($res);
if ($res){
$arr['status']=200;
$arr['info']='恢复成功';
$arr['data']=$res;
//返回json对象
return response()->json($arr);
}else{
$arr['status']=500;
$arr['info']='恢复失败';
$arr['data']=$res;
//返回json对象
return response()->json($arr);
}
}
}


、、、、、、、、、、、、商品模型页面
<?php
namespace App\models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class goodModels extends Model
{
//
use SoftDeletes;
protected $table='good_test';
public $primaryKey='id';
public $timestamps=false;
public static function store($params){
$obj=new self();
$obj->good_name=$params['good_name'];
$obj->good_price=$params['good_price'];
$obj->good_img=$params['good_img'];
return $obj->save();
}
//删除
public static function del($id){
return self::find($id)->delete();
}
//删除恢复
public static function restore($id){
return self::withTrashed()
->find($id)
->restore();
}
}


专业5 laravel框架添加,删除,恢复,分页,搜索接口的更多相关文章
- laravel框架手动删除迁移文件后再次创建报错
手动删除laravel框架数据表迁移文件后再次创建报错 如下图: 执行创建操作之后会在autoload_static.php及autoload_classmap.php这两个文件中添加迁移文件的目录. ...
- 每天一点点之laravel框架 - Laravel5.6 + Passport实现Api接口认证
1.首先通过 Composer 包管理器安装 Passport: composer require laravel/passport 注:如果安装过程中提示需要更高版本的 Laravel:larave ...
- 关于laravel框架分页报错的问题
因为laravel框架有自己的分页封装,所以与其他框架相比laravel框架的分页的实现要方便的多 只要分别在php脚本与视图中使用 $data=DB::table('index_pic')-> ...
- DHTMLX 前端框架 建立你的一个应用程序 教程(十一)--添加/删除表格中的记录
添加/删除表格中的记录 我们的最终功能是在表格中添加删除 我们通过单机工具栏上的按钮来实现添加删除 当我们单击添加按钮的时候, 表单中 第一行默认填写New contact 光标自动聚焦 当用户点击删 ...
- 如何恢复,迁移,添加, 删除 Voting Disks
如何恢复,迁移,添加, 删除 Voting Disks恢复流程 在11gR2 之前,我们可以直接直接使用dd命令对voting disk进行备份.DD示例 备份votedisk盘:[root@raw1 ...
- Laravel设置软删除及其恢复系列操作
软删除及其相关实现 在模型类中要使用SoftDeletestrait并设置$date属性数组 <?php namespace App\Models; use Illuminate\Databas ...
- laravel框架入门
本文摘自网络,个人感觉写的很不错,决定收藏一下纯属本人学习之用 本文介绍如何开始使用 Laravel. 读完本文,你将学到: 如何安装 Laravel,新建 Laravel 程序,如何连接数据库: L ...
- PHP程序Laravel框架的优化技巧
Laravel是一套简洁.优雅的php Web开发框架(PHP Web Framework).它可以让你从杂乱的代码中解脱出来,可以帮你构建一个完美的网络app,而且每行代码都简洁.富于表达力.而性能 ...
- 基于laravel框架构建最小内容管理系统
校园失物招领平台开发 --基于laravel框架构建最小内容管理系统 摘要 针对目前大学校园人口密度大.人群活动频繁.师生学习生活等物品容易遗失的基本现状,在分析传统失物招领过程中的工作效率低下. ...
随机推荐
- 微信小程序之多选功能
思路:把向得到的数组中添加一个布尔值,默认都为false,然后通过数组的映射功能把选中的布尔值,存储到数组中,在组件属性中,用三元运算符做判断即可 data:{ sampleArray: [{ id: ...
- CentOS 7下iptables配置添加修改规则端口方法(转)
简介: Linux CentOS 7默认没有安装iptables,默认的防火墙是firewalld,云吞铺子分享CentOS 7系统下iptables安装.iptables规则配置(放行或者禁用端口) ...
- linux中统计文件中一个字符串出现的次数
要统计一个字符串出现的次数,这里现提供自己常用两种方法: 1. 使用vim统计 用vim打开目标文件,在命令模式下,输入 :%s/objStr//gn 2. 使用grep: grep -o objSt ...
- CSS 圆角框
转载请注明来源:https://www.cnblogs.com/hookjc/ 其实这种圆角框是靠一个个容器堆砌而成的,每一个容器的宽度不同,这个宽度是由margin外边距来实现的,如:margin: ...
- NSMutableDictionary基本概念
1.NSMutableDictionary 基本概念 什么是NSMutableDictionary NSMutableDictionary是NSDictionary的子类 NSDictionary是不 ...
- JWT+ASP.NET Core集成方案
JWT JSON Web Token 经过数字签名后,无法伪造,一个能够在各方之间安全的传输JSON对象的开放标准(RFC 7519) 参考前文 [翻译]Introduction to JSON We ...
- 有手就行3——持续集成环境—maven、tomcat、安装和配置
有手就行3--持续集成环境-maven.tomcat.安装 持续集成环境(5)-Maven安装和配置 持续集成环境(6)-Tomcat安装和配置 持续集成环境(5)-Maven安装和配置 在Jenki ...
- AI模型运维——NVIDIA驱动、cuda、cudnn、nccl安装
目前大部分使用GPU的AI模型,都使用的英伟达这套. 需要注意的是,驱动.cuda.cudnn版本需要一一对应,高低版本互不兼容. 驱动和cuda对应关系:https://docs.nvidia.co ...
- jquery.form 兼容IE89文件上传
导入部分 <script type="text/javascript" src="js/jquery-1.8.3.min.js" charset=&quo ...
- Windows office2019免费激活,附代码
office2019地址:链接:https://pan.baidu.com/s/1zPt5U7b0L-bGHl5AOtYs2w提取码:m5ei 新建一个txt,然后把这段代码放进去,然后保存关闭改后缀 ...