Skip to content

Commit ecb511c

Browse files
committed
Handle edge-cases when database is not fully populated
1 parent 93b269a commit ecb511c

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

src/Listeners/CreatedListener.php

+7-4
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
<?php namespace GeneaLabs\LaravelGovernor\Listeners;
22

3-
use Illuminate\Database\Eloquent\Model;
3+
use Illuminate\Support\Facades\Schema;
44

55
class CreatedListener
66
{
77
/**
88
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
9+
* @SuppressWarnings(PHPMD.StaticAccess)
910
*/
1011
public function handle(string $event, array $models)
1112
{
12-
foreach ($models as $model) {
13-
if (get_class($model) === config('genealabs-laravel-governor.auth-model')) {
14-
$model->roles()->attach('Member');
13+
if (Schema::hasTable('roles')) {
14+
foreach ($models as $model) {
15+
if (get_class($model) === config('genealabs-laravel-governor.auth-model')) {
16+
$model->roles()->attach('Member');
17+
}
1518
}
1619
}
1720
}

src/Providers/LaravelGovernorService.php

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ public function boot(GateContract $gate)
5656
__DIR__ . '/../../resources/views' => base_path('resources/views/vendor/genealabs/laravel-governor')
5757
], 'views');
5858
$this->loadViewsFrom(__DIR__ . '/../../resources/views', 'genealabs-laravel-governor');
59+
$this->loadMigrationsFrom(__DIR__ . '/../../database/migrations');
5960

6061
if (Schema::hasTable('entities')) {
6162
$this->parsePolicies($gate);

0 commit comments

Comments
 (0)