madbob/GASdottoNG

View on GitHub
code/app/Models/Concerns/WithinGas.php

Summary

Maintainability
A
0 mins
Test Coverage
<?php

/*
    Simile a HierarcableTrait, ma per i modelli che possono essere relazionati a
    molteplici GAS (solitamente in modo dinamico a seconda delle esplicite
    preferenze)
*/

namespace App\Models\Concerns;

use Illuminate\Database\Eloquent\Relations\BelongsToMany;

use App\Scopes\RestrictedGAS;
use App\Gas;

trait WithinGas
{
    protected static function boot()
    {
        parent::boot();
        static::addGlobalScope(new RestrictedGAS());
    }

    public function gas(): BelongsToMany
    {
        return $this->belongsToMany(Gas::class);
    }

    public function guessGas()
    {
        $gas = Gas::all();

        if ($gas->count() == 1) {
            return $gas;
        }
        else {
            return null;
        }
    }
}