Changeset View
Changeset View
Standalone View
Standalone View
src/app/Plan.php
<?php | <?php | ||||
namespace App; | namespace App; | ||||
use App\Traits\BelongsToTenantTrait; | |||||
use App\Traits\UuidStrKeyTrait; | use App\Traits\UuidStrKeyTrait; | ||||
use Illuminate\Database\Eloquent\Model; | use Illuminate\Database\Eloquent\Model; | ||||
use Spatie\Translatable\HasTranslations; | use Spatie\Translatable\HasTranslations; | ||||
/** | /** | ||||
* The eloquent definition of a Plan. | * The eloquent definition of a Plan. | ||||
* | * | ||||
* A Plan is a grouping of packages, such as a "Family Plan". | * A Plan is a grouping of packages, such as a "Family Plan". | ||||
Show All 9 Lines | |||||
* @property \App\Package[] $packages | * @property \App\Package[] $packages | ||||
* @property datetime $promo_from | * @property datetime $promo_from | ||||
* @property datetime $promo_to | * @property datetime $promo_to | ||||
* @property ?int $tenant_id | * @property ?int $tenant_id | ||||
* @property string $title | * @property string $title | ||||
*/ | */ | ||||
class Plan extends Model | class Plan extends Model | ||||
{ | { | ||||
use BelongsToTenantTrait; | |||||
use HasTranslations; | use HasTranslations; | ||||
use UuidStrKeyTrait; | use UuidStrKeyTrait; | ||||
public $timestamps = false; | public $timestamps = false; | ||||
protected $fillable = [ | protected $fillable = [ | ||||
'title', | 'title', | ||||
'name', | 'name', | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | public function hasDomain(): bool | ||||
foreach ($this->packages as $package) { | foreach ($this->packages as $package) { | ||||
if ($package->isDomain()) { | if ($package->isDomain()) { | ||||
return true; | return true; | ||||
} | } | ||||
} | } | ||||
return false; | return false; | ||||
} | } | ||||
/** | |||||
* The tenant for this plan. | |||||
* | |||||
* @return \Illuminate\Database\Eloquent\Relations\BelongsTo | |||||
*/ | |||||
public function tenant() | |||||
{ | |||||
return $this->belongsTo('App\Tenant', 'tenant_id', 'id'); | |||||
} | |||||
} | } |