专业5 laravel框架添加,删除,恢复,分页,搜索接口
2024-09-02 20:19:06
//////////////////////资源路由
//商品资源路由恢复
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();
}
}
最新文章
- C# .net dotnet属性定义属性,以提供显示明称,默认值
- 【转】web集群时session同步的3种方法
- Windows性能计数器
- git 与 github 最简单的用法
- IRP派遣操作
- Kendo UI开发教程(26): 单页面应用(四) Layout
- JavaScript高程--<;script>;标签
- C++ 空间配置器(allocator)
- Linux文件与目录的默认权限与隐藏权限 - umask, chattr, lsattr, SUID, SGID, SBIT, file
- 我与C++的初识
- POJ_1321
- 根据PDF模板生成PDF文件(基于iTextSharp)
- Vim 基本配置
- c#中的数据类型简介(委托)
- ns3的输入输出奥秘(三) Tracing系统
- require.js 简洁入门
- java常见包
- Python不生成HTMLTestRunner报告-转载学习
- 洛谷P2345 奶牛集会
- Tomcat6连接数设置:permsize