Silber\Bouncer\Conductors\Traits\AssociatesAbilities::createMissingAbilities PHP Method

createMissingAbilities() protected method

Create abilities whose name is not in the given list.
protected createMissingAbilities ( Illuminate\Database\Eloquent\Collection $models, array $abilities, array $attributes = [] ) : Illuminate\Database\Eloquent\Collection
$models Illuminate\Database\Eloquent\Collection
$abilities array
$attributes array
return Illuminate\Database\Eloquent\Collection
    protected function createMissingAbilities(Collection $models, array $abilities, $attributes = [])
    {
        $missing = array_diff($abilities, $models->pluck('name')->all());
        $created = [];
        foreach ($missing as $ability) {
            $created[] = Models::ability()->create($attributes + ['name' => $ability]);
        }
        return $created;
    }