laravel 框架简易增删改查
时间:2021-10-11
本文章向大家介绍laravel 框架简易增删改查,主要包括laravel 框架简易增删改查使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
参看网址:http://www.yan.com/mou/add
图书增加HTML页面
//图书增加路由 Route::get('mou/add','MouController@store');
//控制器代码,这一步渲染添加的视图
public function add() { return view('mou.mouadd'); }
//添加视图HTML代码
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>添加页面</title> <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css"> </head> <body> <form action="/mou/insert" method="post" enctype="multipart/form-data" style="width: 300px;"> @csrf <div class="form-group"> <label for="name">标题</label> <input type="text" class="form-control" name="title" > </div> <div class="form-group"> <label for="name">作者</label> <input type="text" class="form-control" name="author" > </div> <div class="form-group"> <label for="name">书图</label> <input type="file" class="form-control" name="img" > </div> <div class="form-group"> <label for="name">分类</label> <input type="text" class="form-control" name="type" > </div> <input type="submit" value="立即添加"> </form> </body> </html>
//处理添加入库,数据库展示,删除,修改以及静态化详情控制器代码
<?php namespace App\Http\Controllers; use App\models\mouModel; use Illuminate\Http\Request; use QL\QueryList; class MouController extends Controller { // public function store() { //采集的地址 $url = 'https://www.hongxiu.com/search?kw=%E5%8E%86%E5%8F%B2'; $content = file_get_contents($url); $range = '.book-mid-info'; $rules = [ 'title' => ['h4', 'text'], 'author' => ['p[class=author]', 'text'], 'img' => ['img', 'src'], 'type' => ['a[target=_blank]', 'text'] ]; $data = QueryList::html($content) ->range($range) ->rules($rules) ->queryData(); foreach ($data as $k => $v) { $path = 'http:' . $v['img']; $file = file_get_contents($path); $filename = './book/' . md5($k) . '.jpg'; file_put_contents($filename, $file); } $res = mouModel::store($data); if ($res) { echo "<font color='red'>采集成功</font>"; header('refresh:2,url=/mou/list'); } else { echo "<font color='red'>采集失败</font>"; header('refresh:2,url=/mou/list'); } } //图书添加页面 public function add() { return view('mou.mouadd'); }
//图书入库 public function insert(Request $request) { // 接受参数 $params = $request->except('_token'); //处理图片 $path = '/' . $request->file('img')->store('img'); $params['img'] = $path; // 进行添加入库 $res = mouModel::store($params); if ($res) { echo "<font color='red'>添加成功</font>"; header('refresh:2,url=/mou/list'); } else { echo "<font color='red'>添加失败</font>"; header('refresh:2,url=/mou/add'); } } //展示 public function list(Request $request) { $word=$request->input('word'); $data = mouModel::list($word); return view('mou.moulist', compact('data','word')); } //删除 public function del($id) { // 这里可进行验证id不可以为空,是不是纯数字 $res = mouModel::del($id); if ($res) { echo "<font color='red'>删除成功</font>"; header('refresh:2,url=/mou/list'); } else { echo "<font color='red'>删除失败</font>"; header('refresh:2,url=/mou/list'); } } //详情展示 public function updataone($id) { // 这里可进行验证id不可以为空,是不是纯数字 $data = mouModel::updataone($id); return view('mou.mouupdataone', compact('data')); } //修改 public function updata(Request $request) { $params = $request->all(); $res = mouModel::updata($params); if ($res) { echo "<font color='red'>修改成功</font>"; header('refresh:2,url=/mou/list'); } else { echo "<font color='red'>修改失败</font>"; header('refresh:2,url=/mou/list'); } } //静态化详情 public function listone($id) { $filrname = "./book/" . md5($id) . ".html"; if (file_exists($filrname)) { echo file_get_contents($filrname); } else { $data = mouModel::listone($id); $html = view('mou.moulistone', compact('data')); file_put_contents($filrname, $html); return $html; } } }
//处理添加入库,数据库展示,删除,修改以及静态化详情模型代码
<?php namespace App\models; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class mouModel extends Model { //软删除 use SoftDeletes; //定义数据表 protected $table = 'mou'; // 定义主键id public $primaryKey = 'id'; // 设置时间戳为关 public $timestamps = false; //添加入库的模型代码 public static function store($param) { return self::insert($param); } //展示 public static function list($word) { return self::where('title','like',"%$word%")->paginate(5); } //删除 public static function del($id) { return self::find($id)->delete(); } //修改展示页面 public static function updataone($id) { return self::find($id); } //修改 public static function updata($params) { $obj = self::find($params['updata_id']); $obj->title = $params['title']; $obj->author = $params['author']; $obj->img = $params['new_img']; $obj->type = $params['type']; return $obj->save(); } //详情展示 public static function listone($id){ return self::find($id); } }
//修改HTML代码:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>修改页面</title> <link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.0/css/bootstrap.min.css"> </head> <body> <form action="/mou/updata" method="post" style="width: 300px;"> @csrf <div class="form-group"> <label for="name">标题</label> <input type="text" class="form-control" name="title" value="{{$data['title']}}" > </div> <div class="form-group"> <label for="name">作者</label> <input type="text" class="form-control" name="author" value="{{$data['author']}}" > </div> <div class="form-group"> <label for="name">书图</label> <img src="{{$data['img']}}" alt="无法显示"> <input type="file" value="new_img" name="new_img" > </div> <div class="form-group"> <label for="name">分类</label> <input type="text" class="form-control" name="type" value="{{$data['type']}}"> </div> {{-- 隐藏的id,传至控制器--}} <input type="hidden" value="{{$data['id']}}" name="updata_id"> <input type="submit" value="立即修改"> </form> </body> </html>
原文地址:https://www.cnblogs.com/xiaoyantongxue/p/15393124.html
- .NET Web 自动化测试工具
- Javascript数组常用方法[包含MS AJAX.NET的prototype扩展方法]示例
- 10步骤优化SQL Server 数据库性能
- 漫谈语音合成之Char2Wav模型
- [基础]Javascript中的继承示例代码
- javascript天生就具备类似c#中的"委托"功能
- 使用MonoDevelop开发跨平台的应用程序
- Pycharm使用技巧总结
- [基础]电话/手机常见验证的Javascript示例
- 按照Web Service方式调用WCF服务的问题
- 利用Lucene打造站内搜索引擎的思路
- Lucene.Net 删除索引DeleteDocuments的注意事项
- 使用VS2010的Database 项目模板统一管理数据库对象
- 利用c#制作托盘程序,并禁止多个应用实例运行
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- 国内首个“新基建”安全大赛启动了!
- Kubernetes 中 Informer 的使用
- 嵌入式开发中常见3个的C语言技巧
- 恕我直言,我也是才知道ElasticSearch条件更新是这么玩的
- 有了MinIO,你还会用FastDFS么?
- STP 实验
- 算法集锦(6) |基于GPU框架的tensorflow数据增强算法
- 交换机端口安全实验
- 算法集锦(7)| 实用代码 | Google Colab使用及配置技巧
- 浏览器标签页分屏_不同浏览器同一个tab里面怎么实现分屏?#技能get#
- 微信小程序开发实战(16):交互组件
- Linux常用命令
- 一日一技:使用异或寻找两个孤独的数
- Chrome 85的Referrer-Policy调整对网站分析工具的影响
- 同时搞定Android和iOS的Dart语言(1):Dart初探