我在我的文件资源中有一个表单,我想为每个文本区域创建一个新的记录。我不知道该怎么做。
表格:
return $form
->schema([
Forms\Components\Select::make('quiz_id')
->options(Quiz::all()->pluck('name', 'id'))
->required(),
Forms\Components\RichEditor::make('steps')
->toolbarButtons([
'bold',
'bulletList',
'italic',
'link',
'orderedList',
'redo',
'undo',
]),
Forms\Components\RichEditor::make('goal')
->toolbarButtons([
'bold',
'bulletList',
'italic',
'link',
'orderedList',
'redo',
'undo',
]),
]);
在创建/编辑时,我希望为每个richEditor插入一条记录:
我在查看createRecord类中的函数createRecord,但不知道如何返回。
这段代码设法按我的要求存储记录,但它必须返回一个模型
protected function handleRecordCreation(array $data): FeedbackReport
{
foreach ($data as $field_name => $value) {
if ($field_name != 'quiz_id') {
$record = array(
'quiz_id' => $data['quiz_id'],
'field_name' => $field_name,
'value' => $value,
);
static::getModel()::create($record);
}
}
}
有什么想法吗?还是我需要一个完全不同的方法来解决这个问题?
发布于 2022-11-07 12:19:14
我认为你处理这个问题的方式是错误的。我建议使用中继器场。
use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
Repeater::make('members')
->schema([
TextInput::make('name')->required(),
Select::make('role')
->options([
'member' => 'Member',
'administrator' => 'Administrator',
'owner' => 'Owner',
])
->required(),
])
->columns(2)https://stackoverflow.com/questions/74260599
复制相似问题