osb/app/Models/Supplier/Domain.php

38 lines
695 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 const category_name = 'Domain Name';
protected $table = 'supplier_domain';
/* INTERFACES */
public function getBillingIntervalAttribute(): int
{
return 4; // Yearly
}
public function getNameAttribute(): string
{
return sprintf('%s: %s',$this->product_id,$this->tld->name);
}
public function products()
{
return $this->hasMany(ProductDomain::class,'supplier_item_id','id');
}
/* RELATIONS */
public function tld()
{
return $this->belongsTo(TLD::class);
}
}