style updates

This commit is contained in:
Mark Gregory
2026-07-24 14:59:44 +01:00
parent 24ab771cd3
commit dd23205d0b
482 changed files with 7173 additions and 1435 deletions
+9 -1
View File
@@ -1,24 +1,32 @@
<?php
namespace Modules\Sites\Concerns;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Relations\MorphToMany;
use Modules\Sites\Models\Site;
use Modules\Sites\Services\SiteManager;
trait BelongsToSites
{
public function sites(): MorphToMany
{
return $this->morphToMany(Site::class, 'content', 'site_content', 'content_id', 'site_id')->withPivot('is_primary')->withTimestamps();
}
public function scopeForCurrentSite(Builder $query): Builder
{
$site = app(SiteManager::class)->current();
return $site ? $query->whereHas('sites', fn (Builder $sites) => $sites->whereKey($site->id)) : $query;
}
public function assignToSite(Site|int $site, bool $primary = false): void
{
$id = $site instanceof Site ? $site->getKey() : $site;
if ($primary) { $this->sites()->updateExistingPivot($this->sites()->pluck('sites.id'), ['is_primary' => false]); }
if ($primary) {
$this->sites()->updateExistingPivot($this->sites()->pluck('sites.id'), ['is_primary' => false]);
}
$this->sites()->syncWithoutDetaching([$id => ['is_primary' => $primary]]);
}
}