File: /var/www/limestate-admin/app/Repositories/FlatRepository.php
<?php
declare(strict_types=1);
namespace App\Repositories;
use App\Models\Flat;
use App\Models\FlatOptionsRelation;
use Illuminate\Database\Eloquent\Collection;
class FlatRepository
{
public static function getByBuildingId(int $buildingId): Collection
{
return Flat::query()->where('building_id', $buildingId)->get();
}
public static function setOptions(int $flatId, array $newOptionsIds): void
{
FlatOptionsRelation::query()->where('flat_id', $flatId)->delete();
if (empty($newOptionsIds)) {
return;
}
$data = [];
foreach ($newOptionsIds as $newOptionId) {
$data[] = ['option_id' => $newOptionId, 'flat_id' => $flatId];
}
FlatOptionsRelation::query()->insert($data);
}
}