1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-05-07 08:34:04 +00:00
tenancy/src/Database/Concerns/HasDomains.php
2022-11-10 16:44:52 +01:00

36 lines
810 B
PHP

<?php
declare(strict_types=1);
namespace Stancl\Tenancy\Database\Concerns;
use Stancl\Tenancy\Contracts\Domain;
use Stancl\Tenancy\Tenancy;
/**
* @property-read Domain[]|\Illuminate\Database\Eloquent\Collection $domains
* @mixin \Illuminate\Database\Eloquent\Model
* @mixin \Stancl\Tenancy\Contracts\Tenant
*/
trait HasDomains
{
public function domains()
{
return $this->hasMany(config('tenancy.models.domain'), Tenancy::tenantKeyColumn());
}
public function createDomain($data): Domain
{
$class = config('tenancy.models.domain');
if (! is_array($data)) {
$data = ['domain' => $data];
}
$domain = (new $class)->fill($data);
$domain->tenant()->associate($this);
$domain->save();
return $domain;
}
}