36 lines
672 B
PHP
36 lines
672 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Models\Supplier;
|
||
|
|
||
|
use App\Interfaces\SupplierItem;
|
||
|
use App\Models\Product\Domain as ProductDomain;
|
||
|
use App\Models\TLD;
|
||
|
|
||
|
final class Domain extends Type implements SupplierItem
|
||
|
{
|
||
|
protected $table = 'supplier_domain';
|
||
|
|
||
|
/* INTERFACES */
|
||
|
|
||
|
public function types()
|
||
|
{
|
||
|
return $this->belongsToMany(ProductDomain::class,$this->table,'id','id','id',$this->table.'_id');
|
||
|
}
|
||
|
|
||
|
public function getBillingIntervalAttribute(): int
|
||
|
{
|
||
|
return 4; // Yearly
|
||
|
}
|
||
|
|
||
|
public function getNameAttribute(): string
|
||
|
{
|
||
|
return sprintf('%s: %s',$this->product_id,$this->tld->name);
|
||
|
}
|
||
|
|
||
|
/* RELATIONS */
|
||
|
|
||
|
public function tld()
|
||
|
{
|
||
|
return $this->belongsTo(TLD::class);
|
||
|
}
|
||
|
}
|