laravel代码通读

首先看web.php

Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'Auth\LoginController@login')->name('auth.login');

使用自带的user模型

读User模型:

use Notifiable, SoftDeletes;

Notifiable:通知消息

SoftDeletes:软删除

 protected $hidden = [
        'password', 'remember_token',  查询user时候隐藏查询字段
    ];
Route::get('/login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('/login', 'Auth\LoginController@login')->name('auth.login');
均为AuthenticatesUsers当中的方法,laravel已经实现了。
User模型当中使用 use AuthenticatesUsers;引入
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    LoginController里面的构造方法
    如果用户是guest,那就做某种操作

————————————————————————————————————————————————————————

Route::get('/dashboard', 'DashboardController')->name('dashboard');
使用DashboardController的构造方法
public function __invoke(Request $request)
    {
        return view('dashboard');
    }

__invoke:单个动作,应该是只执行这一个方法
Builder 查询构建器
   $this->middleware('role:admin')->except('index');

如果是管理员才能执行controller中的其他方法,不然进行跳转:

 RoleCheck中:

 进行处理

   public function role()
    {
        return trans("role.{$this->role}");  中英文翻译
    }

	 $keyword = "%{$keyword}%";
        return $builder->where(function ($builder) use ($keyword) {
            $builder->whereHas('company', function ($builder) use ($keyword) {
                $builder->where('name', 'like', $keyword);
            })->orWhere('name', 'like', $keyword);
        });

    //->where(function ($builder) use ($keyword) {这是括号用来连接and和or符号
    //keyword用来向下传递keyword
    

猜你喜欢

转载自blog.csdn.net/qq_31293575/article/details/81185458