Blogger Information
Blog 63
fans 8
comment 8
visits 50029
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
PHP大牛成长之路:laravel原生数据库增/删/改/查
周Sir-BLOG
Original
932 people have browsed it

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
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:看来之前学过的设计模式用到了
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post