搜索
博主信息
博文 63
粉丝 8
评论 8
访问量 63706
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
PHP大牛成长之路:laravel原生数据库增/删/改/查
周Sir-BLOG
原创
1175人浏览过

1 创建控制器方法(演示用)

  1. // SQL 查询
  2. public function select()
  3. {
  4. // ? 号占位符用于防止 SQL 注入,第二个参数绑定
  5. $res = DB::select('SELECT `username`,`email` FROM `users` WHERE `id` > ? LIMIT 5', ['2000']);
  6. // 除了使用 ? 表示参数绑定外,你也可以使用命名绑定来执行一个查询:
  7. // $res = DB::select('SELECT * FROM `users` WHERE `id` > :n', ['n'=>2]);
  8. return $res;
  9. }
  10. // SQL 插入
  11. public function insert()
  12. {
  13. // 避免语句过长,? 号占位符使用$user变量代替
  14. $user = ['ximen', '18','ximen@php.cn',md5('123456php.pro')];
  15. $res = DB::insert('INSERT INTO `users`(`username`,`age`,`email`,`password`) VALUES (?,?,?,?)', $user);
  16. // 返回执行成功条目数
  17. return $res;
  18. }
  19. // SQL 删除
  20. public function delete()
  21. {
  22. $res = DB::delete('DELETE FROM `users` WHERE `id`= ?' ,[2043]);
  23. // 返回执行成功条目数
  24. return $res;
  25. }
  26. // SQL 更新
  27. public function update()
  28. {
  29. $res = DB::update('UPDATE `users` SET `username` = ? WHERE `id` = ?', ['peter',2041]);
  30. // 返回执行成功条目数
  31. return $res;
  32. }
  33. // SQL 链式操作()
  34. public function chain()
  35. {
  36. // 查询id为2040的记录
  37. $res = DB::table('users')->find(2040);
  38. // 查询id大于2000的记录
  39. $res = DB::table('users')->where('id','>',2000)->get();
  40. print_r($res) ;
  41. // find()根据ID查询/返回1条
  42. // get():获取所有行
  43. // first()获取单行
  44. // lists()获取包含单个列值的数组(字段)
  45. // select()获取数据表的所有列(字段)
  46. // where() 条件
  47. // 还有聚合函数,比如count, max, min, avg, 和 sum,需要在构造查询之后调用这些方法
  48. // ....
  49. }

2 创建路由(演示用)

  1. // 查询
  2. Route::get('users/select', 'Users@select');
  3. // 插入
  4. Route::get('users/insert', 'Users@insert');
  5. // 删除
  6. Route::get('users/delete', 'Users@delete');
  7. // 更新
  8. Route::get('users/update', 'Users@update');
  9. // 链式操作
  10. Route::get('users/chain', 'Users@chain');

总结

  • laravel对原生的增删改查操作进行了Facade门面模式封装,操作更方便;
  • 查询构造器未进行的链式操作可以使操作更加简便/优雅;
  • 查询构造器只对部分方法进行了测试,更多方法可参考:https://learnku.com/docs/laravel/7.x/queries/7494
批改老师:天蓬老师天蓬老师

批改状态:合格

老师批语:看来之前学过的设计模式用到了
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学