laravel - 如何为 Laravel Filament MultiSelectFilter 字段指定默认过滤器值?

标签 laravel laravel-8

如何在默认过滤器中指定字段“grade”、“new”、“in_work”、“review”、“pause”?

MultiSelectFilter::make('status')
                    ->options([
                        'grade' => 'Оценка',
                        'new' => 'Новая',
                        'in_work' => 'В работе',
                        'review' => 'На проверке',
                        'pause' => 'На паузе',
                        'ready' => 'Готово',
                        'canceled' => 'Отменена',
                    ])
                    ->label('Статус'),

最佳答案

要以这种方式设置过滤器,您需要制作一个表单并设置一个请求

MultiSelectFilter::make('status')
                ->form([
                    Forms\Components\MultiSelect::make('status')
                        ->options([
                            'grade' => 'Оценка',
                            'new' => 'Новая',
                            'in_work' => 'В работе',
                            'review' => 'На проверке',
                            'pause' => 'На паузе',
                            'ready' => 'Готово',
                            'canceled' => 'Отменена',
                        ])->default(array('grade', 'new', 'in_work', 'review', 'pause'))
                        ->label('Статус'),
                ])
                ->query(function (Builder $query, array $data): Builder {
                    return $query
                        ->when(
                            $data['status'],
                            fn (Builder $query, $status): Builder => $query->whereIn('status', $status),
                        );
                }),

关于laravel - 如何为 Laravel Filament MultiSelectFilter 字段指定默认过滤器值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70855150/

相关文章:

php - 如何使用 Eloquent 从嵌套关系中加载特定字段?

php - 跳过模型访问器

php - 在 Routes.php 中运行基本的 Laravel 任务 - "Sorry, can' 找不到那个任务。”

javascript - Laravel 使用 AJAX 将 Javascript 变量传递给 PHP 并检索它们

php - 如何在 Laravel 8 中实现记住我?

php - 我想使用 laravel 8 mvc 从一个复选框检查我的所有复选框

php - 收到错误 "Typed property must not be accessed before initialization"- Laravel Livewire

javascript - jQuery 从输入文本中获取错误数据

php - find() 未获取现有行

laravel-8 - request()->validate() 在 n laravel 8 左右第二次不起作用