问题是它给出了一个错误。
未定义属性:Illuminate \ Auth \ SessionGuard :: $ confirm
这是我的代码:
if (Auth::guard('pharmacy')->confirmed == 1) {
if (Auth::guard('pharmacy')->status == 'Approved') {
return redirect()->intended(route('pharmacy.dashboard'));
}
}
你应该这样做:
if (Auth::guard('pharmacy')->attempt(['email' => $email, 'password' => $password])) {
if (Auth::user()->confirmed == 1 && Auth::user()->status == 'Approved') {
return redirect()->intended(route('pharmacy.dashboard'));
}
//You might want to do something else here for those that fail either the confirmed or approved check.
}
首先,您应该针对pharmacy
防护实例对用户进行身份验证。只有当用户通过身份验证后,您现在才能访问他/她的attributes
...在您的情况下... confirmed
和status
。
确保您的表格具有confirmed
字段,并且您已正确注册该警卫以将该表用作提供者。
警卫:config/auth.php
'guards' => [
// ...
'pharmacy' => [
'driver' => 'session',
'provider' => 'pharmacies',
],
],
移民
class CreatePharmaciesTable extends Migration
{
public function up()
{
Schema::create('pharmacies', function (Blueprint $table) {
// ...
$table->boolean('confirmed')->default(false);
});
}
// ...
}