1、构造器的 where 派生查询
1.1、 实现区间查询 whereBetween()
//查询年龄为18~19岁的纪录(对象)
$res = DB::table('users')->whereBetween('age',[18,19])->get();
//将查询结果转为数组
$res = DB::table('users')->whereBetween('age',[18,19])->get()->toArray();
//将结果输出sql语句
$res = DB::table('users')->whereBetween('age',[18,19])->toSql();
1.2、 实现数组匹配的记录 whereIn()
//查询id为2010,2011的记录
$res = DB::table('users')->whereIn('id', [2010,2011])->get();
1.3、 or 条件查询 orWhere()
$res = DB::table('users')
->where('age', '<', 20)
->orWhere('gender', '<', '女')
->get();
1.4、 内联接的多表查询 join()
// select * from admin,admin_group where admin.gid=admin_group.gid
$res = DB::table('admin')
->join('admin_group', 'admin.gid', '=', 'admin_group.gid')
->get();
2、中间件(就是在方法执行前中间执行的方法)
2.1、第1步:创建中间件
- 在
App\Http\Middleware
目录下新建:MyCheck.php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Closure;
class MyCheck
{
public function handle(Request $request, Closure $next)
{
$flag=false;
if (!$flag) {
return response('数据错误');
}
return $next($request);
}
}
2.2、第2步:注册中间件
- 在
App\Http
目录下的Kernel.php
文件的路由数组:$routeMiddleware
中注册:
//注册中间件
'mycheck' => \App\Http\Middleware\MyCheck::class,
2.3、第3步:指定路由中间件
- 在
routes
目录下的web.php
文件的路由方法中指定路由中间件
Route::get('users/dbtest', 'Users@dgbtest')->middleware('mycheck');
- 访问
dgbtest
方法前就会先执行中间件;
总结:
1、对构造器的 where 派生查询的部分函数进行了了解;
2、内联接的多表查询方法理解还不够深入;
3、中间件的基本步骤进行了了解。