拿到一个框架,除了解框架,还要能实现基本的curd操作。
//长征思维导图 routes/web.php 中增加如下:// 添加页面、存放路径 laravel7/resources/views/urs/add.blade.php// 视图文件默认以 .blade.php 结尾route::get('/add', function(){ return view('urs.add');});
<!-- 视图文件存放路径 laravel7/resources/views/urs/add.blade.php --><!doctype html><html lang="en"><head> <meta chart="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>添加</title></head><body> <form action="regdo" method="post"> <div> <span>用户名</span> <span><input type="text" name="name" id=""></span> </div> <div> <span>密码</span> <span><input type="text" name="pwd" id=""></span> </div> <div> <span></span> <span><input type="submit" value="注册"></span> </div> <!-- 如果是通过 post 方式提交数据的化、需要增加 csrf 保护 --> <!-- 位置:官方手册 -> 基础功能 -> csrf保护 --> {{ csrf_field() }} </form></body></html>
// routes/web.php 中增加如下:// post 提交方式、视图层中 form 的 method// doadd 提交地址、视图层中 form 的 actionroute::post('/doadd', 'urscontroller@doadd');
控制器中方法:
/** * 添加 * @param request * @return string */public function create(request $request){ // 获取要提交的数据 $data['name'] = $request->input('name', ''); $data['pwd'] = $request->input('pwd', ''); // 调用模型层方法添加数据 $res = urs::addone($data); // 判断是否添加成功 if (!$res) { // 注意: a 标签的 href 属性是指定的路由 return '添加失败!! 跳转至<a href="/add">添加页面</a>'; } return '添加成功!! 跳转至<a href="/show">展示页面</a>';}
模型层中的方法:
// 注意: 模型层需要指定与模型关联的数据表名// protected $table = 'urs';/** * 添加一条数据 * @param array $data * @return booler */public static function addone($data){ return lf::inrt($data);}
// routes/web.php 中增加如下:// 展示数据route::get('/show', 'urscontroller@show');
控制器中的方法:
/** * 展示 */public function show(){ // 调用模型层中的方法获取数据 $res = urs::getall(); // 判断是否获取成功 if (!$res) { return '数据库暂时没有数据!!'; } // 成功、通过 view 方法发送数据到 视图文件 return view('urs.show', ['res' => $res]);}
模型层中的方法:
/** * 获取所有的数据 * @return array */public static function getall()火车奇遇{ return lf::get();}
<!-- 视图文件存放路径 laravel7/resources/views/urs/show.blade.php --><!doctype html><html lang="en"><head> <meta chart="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>展示</title></head><body> <div> <span> 展示 </span> <span> <a href="/page">分页展示</a> </span> </div> <table> <tr> <td>id</td> <td>name</td> <td>pwd</td> <td>status</td> <td>last login</td> </tr> <!-- 手册:前端开发 -> blade 模版 -> 循环 --> @foreach ( $res as $v ) <tr> <td>{{ $v->id }}</td> <td>{{ $v->name }}</td> <td>{{ $v->pwd }}</td> <td>{{ $v->status }}</td> <td>{{ $v->last }}</td> </tr> @endforeach </table></body></html>
// routes/web.php 中增加如下:// 展示数据route::get('/page', 'urscontroller@page');
控制器中方法:
/** * 分页展示 */public function page(){ // 调用模型层中的方法获取数据 $res = urs::page(); // 判断是否获取成功 if (!$res) { return '数据库暂时没有数据!!'; } // 成功、通过 view 方法发送数据到 视图文件 return view('urs.page', ['res' => $res]);}
模型层中方法:
/** * 分页展示 * @return array */public static function page(){ // paginate 方法会自动根据用户正在查看的页面来设置限制和偏移量 // 5 是每页显示条数 return lf::paginate(5);}
<!-- 视图文件存放路径 laravel7/resources/views/urs/page.blade.php --><!doctype html><html lang="en"><head> <meta chart="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>分页展示</title> <!-- laravel 框架默认的样式是 bootstrap、为了分页展示美化、所以引用 css 样式 --> <link rel="stylesheet" href="http://cdn.bootcss.com/bootstrap/3.3.4/css/bootstrap.min.css"></head><body> <div> <span> 分页展示 </span> <span> <a href="/show">普通展示</a> </span> </div> <table class="table" style="text-align: center"> <tr> <td>id</td> <td>name</td> <td>pwd</td> <td>status</td> <td>last login</td> <td>action</td> </tr> <!-- 手册:前端开发 -> blade 模版 -> 循环 --> @foreach ( $res as $v ) <tr> <td>{{ $v->id }}</td> <td>{{ $v->name }}</td> <td>{{ $v->pwd }}</td> <td>{{ $v->status }}</td> <td>{{ $v->last }}</td> <td> <a href="upd?id={{ $v->id}}">修改</a> <a href="del?id={{ $v->id}}">删除</a> </td> </tr> @endforeach <tr> <td colspan="6"> <!-- 手册:数据库 -> 分页 -> 显示分页结果 --> {{ $res->links() }} </td> </tr> </table></body></html>
编辑展示的视图文件
// 视图文件中增加删除链接// del 执行删除的路由<a href="del?id={{ $v->id}}">删除</a>
编辑路由文件:
// 路由文件中增加如下删除路由route::get('/del', 'urscontroller@del');
控制器中方法:
/** * 删除 */public function del(request $request){ // 接收数据 id $where['id'] = $request->input('id', 0 ); // 调用模型层中的删除方法 $res = urs::del($where); // 判断执行结果 if (!$res) { return '删除失败!! 跳转至<a href="/page">展示页面</a>'; } return '删除成功!! 跳转至<a href="/page">展示页面</a>';}
模型层中方法:
/** * 删除 * @param array $where * @return booler */public static function del($where){ return lf::where($where)->delete();}
编辑展示的视图文件
// 视图文件中增加修改链接// upd 执行修改的路由<a href="upd?id={{ $v->id}}">修改</a>
编辑路由文件:
// 路由文件中增加如下删除路由route::get('/upd', 'urscontroller@upd');
控制器中方法:
/** * 获取要进行修改的数据 */public function upd(request $request){ // 接收数据 id $where['id'] = $request->input('id', 0); // 调用模型层中的获取一条数据的方法 $res = urs::getone($where); // 判断执行结果 if (!$res) { return '数据获取失败!! 跳转至<a href="/page">展示页面</a>'; } // 成功、通过 view 方法发送数据到 视图文件 return view('urs.upd', ['res' => $res]);}
模型层中方法:
/** * 查询一条数据 * @param array $where * @return array */public static function getone($where){ // return lf::where( $where )->first(); return lf::firstwhere($where);}
<!-- 视图文件存放路径 laravel7/resources/views/urs/upd.blade.php --><!doctype html><html lang="en"><head> <meta chart="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>修改</title></head><body> <form action="doupd" method="post"> <div> <span>用户名</span> <span><input type="text" name="name" id="" value="{{ $res->name }}"></span> </div> <div> <span>密码</span> <span><input type="text" name="pwd" id="" value="{{ $res->pwd }}"></span> </div> <div> <span><input type="hidden" name="id" value="{{ $res->id }}"></span> <span><input type="submit" value="修改"></span> </div> <!-- 位置:官方手册 -> 基础功能 -> csrf保护 --> {{ csrf_field() }} </form></body&雪娃gt;</html>
// 执行修改// post 提交方式、视图层中 form 的 method// doupd 提交地址、视图层中 form 的 actionroute::post('/doupd', 'urscontroller@doupd' );
控制器中方法:
/** * 执行修改 */public function doupd(request $request){ // 接收数据 id 作为修改的条件 $where['id'] = $request->input('id', 0); // 接收其他数据 作为要修改的数据 $data['name'] = $request->input( 'name', '' ); $data['pwd'] = $request->input( '家的n次方台词pwd', '' ); // 调用模型层中的修改方法 $res = urs::upd( $where, $data ); // 判断执行结果 if (!$res) { return '修改失败!! 跳转至<a href="/page">展示页面</a>'; } return '修改成功!! 跳转至<a href="/page">展示页面</a>';}
模型层中方法:
/** * 修改 * @param array $where * @param array $data * @return booler */public static function upd($where, $data){ return lf::where($where)->update($data);}
具体截图:
解决:查看路由的请求方式和提交请求的方式是否一致。
具体截图:
解决:查看模型层是否指定与模型关联的数据表
本文发布于:2023-04-08 12:55:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d2ae4d2512e33b440cc67bc4c59ce195.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Laravel – 上手实现 – 增删改查.doc
本文 PDF 下载地址:Laravel – 上手实现 – 增删改查.pdf
留言与评论(共有 0 条评论) |