我正在为用户表创建Laravel Auth Panel System(管理员,学生,工作人员)。 然后再次向Laravel Auth申请职位空缺表。 然后再次向Laravel Auth申请入场表。 如果完成了此任务,那么我们需要将所有记录从(录取和职位空缺)表捕获到用户表。 修复Laravel 6.x唯一验证规则。 刀片模板表格上显示“给出错误”。该cnic已被使用。
空位表
public function up()
{
Schema::create('vacancies', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('cnic');
$table->string('user_role')->default('staff');
$table->string('password');
$table->timestamps();
});
}
职位空缺
class Vacancy extends Authenticatable
{
use Notifiable;
protected $guard='vacancy';
protected $fillable = ['cnic','password',];
protected $table = 'vacancies';
protected $dates = ['created_at', 'updated_at'];
}
VacancyRegisterController
protected function validator(array $data)
{
return Validator::make($data, [
'cnic' => ['bail','required', 'string', 'unique:vacancies','regex:[\d{13}]'],
'password' => ['bail','required', 'string',],
]);
}
VacancyController
class VacancyController extends Controller
{
use AuthenticatesUsers;
protected function guard()
{
return Auth::guard('vacancy');
}
public function username()
{
return 'cnic';
}
public function login(Request $request){
if (DB::table('vacancies')->where('cnic',$request->has('cnic'))->exists()){
$this->validate($request,[
'cnic' => ['bail','required','unique:vacancies', 'string','regex:[\d{13}]'],
'password' => ['bail','required', 'string',],
]);
if (Auth::guard('vacancy')->attempt(['cnic' => $request->has('cnic'),'password' => $request->has('password')])){
return '/vacancy';
}
}
elseif (DB::table('vacancies')->where('cnic',$request->has('cnic'))->doesntExist()){
$data= new VacancyRegisterController();
return $data->register($request);
}
else{
return redirect('/');
}
}
}
web.php
Route::post('/login-vacancy','Auth\VacancyController@login')->name('v-login');
Route::post('/logout-vacancy','Auth\VacancyController@logout')->name('v-logout');
Route::middleware('auth')->group(function (){
Route::get('/vacancy',function (){
return view('vacancy.vacancy');
})->name('staff-vacancy');
});