1.创建中间件
在App\Http\Middleware目录下新建一个Demo.php的中间件Demo.php
<?php
namespace App\Http\Middleware;
use Closure;
class Demo{
//hanle方法不能修改方法名
public function handle($request, Closure $next) {
// 自定义代码,如果name参数为php中间件将会输出<p>中间件执行成功</p> 然后继续执行路由请求的方法
if($request->name=='php'){
echo '<p>中间件执行成功</p>';
}
return $next($request);
}
}
2.注册中间件
在App\Http\目录下Kernel.php中注册自定义的中间件'checks' => \App\Http\Middleware\Demo::class,
3.在路由web.php中通过 middleware 方法为路由分配中间件
Route::get('demo/query','Demo@querys')->middleware('checks');
通过以上步骤就成功定义了一个中间件,在http发起请求访问Demo下的querys之前会先经过为路由分配的中间件处理,然后才能访问到querys方法。
常用数据库操作总结:
插入数据:
DB::table('user')->insert(['username'=>'小白','email'=>'s33@qq.com']);
删除数据:
DB::table('user')->where(['id'=>4])->delete();
删除表:
DB::statement('drop table user');
更新:
DB::table('user')->where(['uid' => 1])->update(['email' => 'df688@163.com']);
获取数据:
单条数据DB::table('user')->where(['id'=>1])->first();
指定字段的值必须存在指定的数组DB::table('user')->whereIn('username', ['jack','test'])->get();
获取所有数据:DB::table('user')->get()->all();
获取指定列的集合:DB::table('user')->get()->pluck('username');
查询指定值之间的数据:DB::table('user')->whereBetween('id',[2,5])->get();
关联查询(将两个表之间的字段关联起来):DB::table('user')->join('test_user', 'users.id', '=', 'test_user.user_id')->get()