laravel中在中间件追加数据并在控制器获取方法,在此记录一下
下面展示一些 内联代码片
。
// A code block
var foo = 'bar';
class AuthTokenMiddleware
{
public function handle($request, Closure $next)
{
//获取登录人的id
$data= app('session')->get('adminuserinfo');
if(empty($data['id'])){
return redirect('/');
}
// 获取登录人的权限
($data['role_id']);
$user_per = UserPermissionModel::where('user_id',$data['id'])->first();
$user_role = RolePermissionModel::where('role_id',$data['role_id'])->first();
$data['shop_id'] = array_merge(explode(',', $user_per['shop_id']),explode(',', $user_role['shop_id']));
$data['permission_id']= array_merge(explode(',', $user_per['permission_id']),explode(',', $user_role['permission_id']));
$res['data'] = json_decode(json_encode($data),true);
$request->attributes->add($res); //在此追加
return $next($request);
}
}
在控制器中获取追加的数据
public function AdminHome(Request $request)
{
//$request->get('data') 获取追加的数据
return view('admin.adminHome',['list'=>$request->get('data')]);
}