/** * Register Membership's permissions with Laravel's Gate. * * @param \Illuminate\Contracts\Auth\Access\Gate $gate */ public function registerPermissions(\Illuminate\Contracts\Auth\Access\Gate $gate) { // Register permissions only if the table exists if (!\Schema::hasTable('permissions')) { return; } $permissions = $this->permissions->all(); foreach ($permissions as $permission) { $gate->define($permission->handle, function ($user) use($permission) { return $user->can($permission->handle); }); } }