🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 操作方法 ## 基本操作方法 ``` //渲染视图 compact 方法可以同时接收多个参数 return view('users.show', compact('user', 'statuses')); //查询所有数据 User::all(); //分页查询 User::paginate(10);//模板使用 {!! $users\-\>render() !!} 渲染 //创建数据 User::create($data); //更新数据 $user->update($data); //删除数据 $user->delete(); //存入一条缓存的数据 session()->flash('success','welcome , going!!!'); //跳转重定向并赋值变量 return redirect()->route('users.show', [Auth::user()]); //返回上一次提交的内容 return redirect()->back()->withInput(); //登录拦截跳转到之前访问的页面 $fallback = route('users.show', Auth::user()); return redirect()->intended($fallback); //日期友好化处理,XXX之前 $status->created_at->diffForHumans() /**关注用户 与 不插入重复数据, * `sync`方法会接收两个参数,第一个参数为要进行添加的`id`, * 第二个参数则指明是否要移除其它不包含在关联的`id`数组中的`id`, * `true`表示移除,`false`表示不移除,默认值为`true`。 * */ $user->followings()->attach([2])//可重复数据关注 $user->followings()->sync([3], false)//不重复关注 $user->followings()->detach([2,3]);//取消关注 $user->followings()->allRelatedIds()->toArray();//查看关注 ``` ## Auth 授权操作方法 ``` //授权操作 $credentials 接收参数(帐号密码)。remember:记住我 if (Auth::attempt($credentials, $request->has('remember'))) { session()->flash('success', '欢迎回来!'); return redirect()->route('users.show', [Auth::user()]); } else { session()->flash('danger', '很抱歉,您的邮箱和密码不匹配'); return redirect()->back()->withInput(); } ``` ## 中间件的使用 ``` public function __construct() { $this->middleware('auth', [ 'except' => ['show', 'create', 'store'] ]); //只让未登录用户访问注册页面: $this->middleware('guest', [ 'only' => ['create'] ]); } ``` ## 授权策略 ``` //创建授权策略 $ php artisan make:policy UserPolicy /** 授权策略添加方法 * 第一个参数默认为当前登录用户实例 * 第二个参数则为要进行授权的用户实例 * */ public function update(User $currentUser, User $user) { return $currentUser->id === $user->id; } ```