CheckboxList::make('subject_id')
->relationship('subjects', 'name')
->label('Subjects')
->options(function (callable $get) {
$patternId = $get('pattern_id');
if (!$patternId) return [];
return Subject::query()
->where('pattern_id', $patternId)
->pluck('name', 'id');
})
->columns(2)
->disabled(fn($record) => filled($record))
->dehydrated(false) // persisted in Pages using afterCreate/afterSave
->helperText('Selections are saved as StudentClassSubjectMapping rows.')
CheckboxList::make('subject_id')
->relationship('subjects', 'name')
->label('Subjects')
->options(function (callable $get) {
$patternId = $get('pattern_id');
if (!$patternId) return [];
return Subject::query()
->where('pattern_id', $patternId)
->pluck('name', 'id');
})
->columns(2)
->disabled(fn($record) => filled($record))
->dehydrated(false) // persisted in Pages using afterCreate/afterSave
->helperText('Selections are saved as StudentClassSubjectMapping rows.')