首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建多个记录与一个单一的拉拉长丝形式

创建多个记录与一个单一的拉拉长丝形式
EN

Stack Overflow用户
提问于 2022-10-31 08:33:02
回答 1查看 76关注 0票数 0

我在我的文件资源中有一个表单,我想为每个文本区域创建一个新的记录。我不知道该怎么做。

表格:

代码语言:javascript
复制
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插入一条记录:

  • id,quiz_id,field_name,值
  • id,quiz_id,field_name,值
  • id,quiz_id,field_name,值
  • ..。

我在查看createRecord类中的函数createRecord,但不知道如何返回。

这段代码设法按我的要求存储记录,但它必须返回一个模型

代码语言:javascript
复制
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);
        }
    }
}

有什么想法吗?还是我需要一个完全不同的方法来解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2022-11-07 12:19:14

我认为你处理这个问题的方式是错误的。我建议使用中继器场

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74260599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档