当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel模糊查询区分大小写的实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-25 15:44:27 浏览: 评论:0 

今天小编就为大家分享一篇Laravel模糊查询区分大小写的实例,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

Laravel的ORM特殊操作!

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

  1. #passthruarray: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”  

参考文件位置:

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. ]; 
  9.  
  10. protected $operators = [ 
  11.  '=''<''>''<=''>=''<>''!='
  12.  'like''like binary''not like''between''ilike'
  13.  '&''|''^''<<''>>'
  14.  'rlike''regexp''not regexp'
  15.  '~''~*''!~''!~*''similar to'
  16.  'not similar to'
  17. ]; 
  18.  
  19. public function index($customer_type = null) { 
  20.  $search = request('search'); 
  21.  $perPage = request('perPage') ? request('perPage') : 10; 
  22.  $customer_type = $customer_type ? $customer_type : request('customer_type'); 
  23.  $data = Customer::select(['id''email''user_name''nick_name''status''phone''create_time']) 
  24.   ->where('customer_type''='$customer_type
  25.   ->where(function ($queryuse ($search) { 
  26.    if ($search) { 
  27.     $query->where('user_name''like binary''%' . $search . '%'
  28.      ->orWhere('nick_name''like binary''%' . $search . '%'
  29.      ->orWhere('phone''like binary''%' . $search . '%'
  30.      ->orWhere('email''like binary''%' . $search . '%'); 
  31.    } 
  32.   }) 
  33.   ->orderBy('create_time''desc'
  34.   ->paginate($perPage); 
  35.  //追加额外参数,例如搜索条件 
  36.  $appendData = $data->appends(array
  37.   'search' => $search
  38.   'perPage' => $perPage
  39.  )); 
  40.  return view('admin/customer/customerList', compact('data')); 
  41. }

Tags: Laravel模糊查询

分享到: