经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
Laravel模糊查询区分大小写的实例
来源:jb51  时间:2019/9/30 8:49:31  对本文有异议

Laravel的ORM特殊操作!

举个例子:我们数据库设计的编码方式如果是ci,也就是说大小写不敏感的话,我们搜索的时候,搜索test,那么结果是Test,test,teST等等都出来,但是我们加上like binary的话,那么搜索出来的就是test,不管你的mysql数据库是什么编码排序规则。

  1. #passthru: array:10 [▼
  2. 0 => insert
  3. 1 => insertGetId
  4. 2 => getBindings
  5. 3 => toSql
  6. 4 => exists
  7. 5 => count
  8. 6 => min
  9. 7 => max
  10. 8 => avg
  11. 9 => sum
  12. ]
  13. #operators: array:26 [▼
  14. 0 => “=”
  15. 1 => “<”
  16. 2 => “>”
  17. 3 => “<=”
  18. 4 => “>=”
  19. 5 => “<>”
  20. 6 => “!=”
  21. 7 => like
  22. 8 => like binary
  23. 9 => not like
  24. 10 => between
  25. 11 => ilike
  26. 12 => “&”
  27. 13 => “|”
  28. 14 => “^”
  29. 15 => “<<”
  30. 16 => “>>”
  31. 17 => rlike
  32. 18 => regexp
  33. 19 => not regexp
  34. 20 => “~”
  35. 21 => “~*”
  36. 22 => “!~”
  37. 23 => “!~*”
  38. 24 => similar to
  39. 25 => not similar to
  40. ]

参考文件位置:

  1. D:\phpStudy\WWW\BCCAdminV1.0\vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php
  1. protected $bindings = [
  2. 'select' => [],
  3. 'join' => [],
  4. 'where' => [],
  5. 'having' => [],
  6. 'order' => [],
  7. 'union' => [],
  8. ];
  1. protected $operators = [
  2. '=', '<', '>', '<=', '>=', '<>', '!=',
  3. 'like', 'like binary', 'not like', 'between', 'ilike',
  4. '&', '|', '^', '<<', '>>',
  5. 'rlike', 'regexp', 'not regexp',
  6. '~', '~*', '!~', '!~*', 'similar to',
  7. 'not similar to',
  8. ];
  1. public function index($customer_type = null) {
  2. $search = request('search');
  3. $perPage = request('perPage') ? request('perPage') : 10;
  4. $customer_type = $customer_type ? $customer_type : request('customer_type');
  5. $data = Customer::select(['id', 'email', 'user_name', 'nick_name', 'status', 'phone', 'create_time'])
  6. ->where('customer_type', '=', $customer_type)
  7. ->where(function ($query) use ($search) {
  8. if ($search) {
  9. $query->where('user_name', 'like binary', '%' . $search . '%')
  10. ->orWhere('nick_name', 'like binary', '%' . $search . '%')
  11. ->orWhere('phone', 'like binary', '%' . $search . '%')
  12. ->orWhere('email', 'like binary', '%' . $search . '%');
  13. }
  14. })
  15. ->orderBy('create_time', 'desc')
  16. ->paginate($perPage);
  17. //追加额外参数,例如搜索条件
  18. $appendData = $data->appends(array(
  19. 'search' => $search,
  20. 'perPage' => $perPage,
  21. ));
  22. return view('admin/customer/customerList', compact('data'));
  23. }

以上这篇Laravel模糊查询区分大小写的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号