Форма PHP Filament: default() не устанавливает значение для поляspecialization_id в компоненте Select.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Форма PHP Filament: default() не устанавливает значение для поляspecialization_id в компоненте Select.

Сообщение Anonymous »

Я использую Filament PHP для создания формы управления пользователями в моем приложении. Поле «specialization_id» в форме — это компонент Select, который зависит от роли пользователя (врач). Если роль пользователя — врач, в поле должен отображаться список специализаций и по умолчанию выбирать текущую специализацию.
Вот моя схема формы для поляspecialization_id:

Код: Выделить всё

Forms\Components\Select::make('specialization_id')
->label('Specialization Name')
->relationship('doctor.specialization', 'name')
->required(fn (callable $get) => $get('role') === 'doctor')
->hidden(fn (callable $get) => $get('role') !== 'doctor')
->default(fn ($record) => $record->doctor->specialization_id ?? null),
Обратный вызов default(), похоже, не работает. Раскрывающийся список для поляspecialization_id появляется, если роль врача — врач, но значение по умолчанию не установлено. Вместо этого поле пусто, т. е. «Выберите вариант».
Я проверил, что связь работает правильно. Когда я dd($user->doctor->specialization) в форме, возвращается ожидаемая специализация.
Ожидаемое поведение
Раскрывающийся списокspecialization_id следует:
По умолчанию использовать назначенную в данный момент специализацию, если она уже есть у пользователя.

Подробнее здесь: https://stackoverflow.com/questions/792 ... id-field-i
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»