Create missing server variables on EditServer page (#560)

* create missing server variables on editserver page

* remove count check
This commit is contained in:
Boy132 2024-08-22 22:19:38 +02:00 committed by GitHub
parent 20b06b7b39
commit 05477c711f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -29,6 +29,7 @@ use Filament\Notifications\Notification;
use Filament\Resources\Pages\EditRecord;
use Illuminate\Support\Facades\Validator;
use Closure;
use Illuminate\Database\Eloquent\Builder;
use Webbingbrasil\FilamentCopyActions\Forms\Actions\CopyAction;
class EditServer extends EditRecord
@ -473,7 +474,21 @@ class EditServer extends EditRecord
->columnSpan(6),
Forms\Components\Repeater::make('server_variables')
->relationship('serverVariables')
->relationship('serverVariables', function (Builder $query) {
/** @var Server $server */
$server = $this->getRecord();
foreach ($server->variables as $variable) {
ServerVariable::query()->firstOrCreate([
'server_id' => $server->id,
'variable_id' => $variable->id,
], [
'variable_value' => $variable->server_value ?? '',
]);
}
return $query;
})
->grid()
->mutateRelationshipDataBeforeSaveUsing(function (array &$data): array {
foreach ($data as $key => $value) {