其他分享
首页 > 其他分享> > laravel多条件模糊查询

laravel多条件模糊查询

作者:互联网

1.运用cmd在项目根目录下创建路由组

php artisan make:controller queryController --resource

1.1数据库信息(student)

 

CREATE TABLE `student` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(225) NOT NULL,
  `age` tinyint(3) unsigned NOT NULL,
  `sex` tinyint(3) unsigned NOT NULL,
  `created_at` int(11) NOT NULL,
  `updated_at` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

 

 

 

2.路由组信息如下

  

3.编写路由组中的 index和store方法(1是显示首页,2是模糊查询)运用的是orWhere();添加多条件查询

 1 <?php
 2 
 3 namespace App\Http\Controllers;
 4 
 5 use Illuminate\Http\Request;
 6 use think\View;
 7 
 8 class queryController extends Controller
 9 {
10     /**
11      * Display a listing of the resource.
12      *
13      * @return \Illuminate\Http\Response
14      */
15     public function index()
16     {
17         //显示查询界面
18         $data = \DB::table('student')->get();
19         return view('query', compact('data'));
20     }
21 
22     /**
23      * Show the form for creating a new resource.
24      *
25      * @return \Illuminate\Http\Response
26      */
27     public function create()
28     {
29         echo '创建';
30     }
31 
32     /**
33      * Store a newly created resource in storage.
34      *
35      * @param  \Illuminate\Http\Request $request
36      * @return \Illuminate\Http\Response
37      */
38     public function store(Request $request)
39     {
40         //返回请求结果界面
41         $input = $request->get('key');
42         $data  = \DB::table('student')->where('id', 'like', '%' . $input . '%')
43             ->orWhere('name', 'like', '%' . $input . '%')->orWhere('age', 'like', '%' . $input . '%')->get();
44            if(!is_null($data)){
45                return view('query', compact('data'));
46            }else{
47                return back()->with(['info'=>'查询为空']);
48            }
49     }
50 
51     /**
52      * Display the specified resource.
53      *
54      * @param  int $id
55      * @return \Illuminate\Http\Response
56      */
57     public function show($id)
58     {
59         //
60     }
61 
62     /**
63      * Show the form for editing the specified resource.
64      *
65      * @param  int $id
66      * @return \Illuminate\Http\Response
67      */
68     public function edit($id)
69     {
70         //
71     }
72 
73     /**
74      * Update the specified resource in storage.
75      *
76      * @param  \Illuminate\Http\Request $request
77      * @param  int $id
78      * @return \Illuminate\Http\Response
79      */
80     public function update(Request $request, $id)
81     {
82         //
83     }
84 
85     /**
86      * Remove the specified resource from storage.
87      *
88      * @param  int $id
89      * @return \Illuminate\Http\Response
90      */
91     public function destroy($id)
92     {
93         //
94     }
95 }
多条件模糊查询

4.视图层代码

 1 <!doctype html>
 2 <html lang="en">
 3 <head style="background-color: lightpink">
 4     <meta charset="UTF-8">
 5     <meta name="viewport"
 6           content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
 7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
 8     <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
 9     </script>
10     <title>多条件模糊查询</title>
11 </head>
12 <body>
13 <form action="{{route('query.store')}}" method="post">
14     {{@csrf_field()}}
15     <input type="text"size="20px" name="key" placeholder="请输入id,用户名,年龄其一">
16     <input type="submit" value="搜索" >
17 </form>
18 
19 <table border="1px solid" cellspacing="0" cellpadding="0"style=" margin-top: 50px;width: auto;">
20 <tr>
21     <th>id</th>
22     <th>用户名</th>
23     <th>年龄</th>
24     <th>性别</th>
25     <th>创建时间</th>
26     <th>更新时间</th>
27 </tr>
28         @foreach($data as $values)
29             <tr>
30                 <td>{{$values->id}}</td>
31                 <td>{{$values->name}}</td>
32                 <td>{{$values->age}}</td>
33                 <td>
34                     @if(($values->sex==1))男
35                     @else女
36                     @endif
37                 </td>
38 
39                 <td>{{date('Y-m-d H:i:s',$values->created_at)}}</td>
40                 <td>{{date('Y-m-d H:i:s',$values->updated_at)}}</td>
41             </tr>
42         @endforeach
43 </table>
44 </body>
45 
46 </html>
视图层

5.个人总结

1.模板中post提交的时候注意  {{@csrf_field()}} 不要忘记了

2.想起了三种定位路由的方式 2.1 {{action('你的路由action')}}  {{url('')}} {{route()}}

3.判断数据库信息返回是否为空:is_null(); empty()

 

标签:laravel,resource,Http,模糊,查询,Illuminate,values,return,id
来源: https://www.cnblogs.com/yaoliuyang/p/12333433.html