1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 20:34:03 +00:00

TenantModel putMany

This commit is contained in:
Samuel Štancl 2019-09-15 11:01:24 +02:00
parent 8b2c64c8b1
commit 0fd1d82c68
10 changed files with 88 additions and 46 deletions

View file

@ -73,7 +73,41 @@ class Tenant implements ArrayAccess
return $this;
}
// todo addDomain, removeDomain
/**
* Assign domains to the tenant.
*
* @param string|string[] $domains
* @return self
*/
public function addDomains($domains): self
{
$domains = (array) $domains;
$this->domains = array_merge($this->domains, $domains);
return $this;
}
/**
* Unassign domains from the tenant.
*
* @param string|string[] $domains
* @return self
*/
public function removeDomains($domains): self
{
$domains = (array) $domains;
$this->domains = array_diff($this->domains, $domains);
return $this;
}
public function clearDomains(): self
{
$this->domains = [];
return $this;
}
public function withDomains($domains): self
{
$domains = (array) $domains;
@ -135,7 +169,7 @@ class Tenant implements ArrayAccess
public function softDelete(): self
{
$this->put('_tenancy_original_domains', $this->domains);
$this->domains = [];
$this->clearDomains();
$this->save();
return $this;