生命周期挂钩在编辑功能、灯丝资源中不起作用

问题描述 投票:0回答:1

我在 php Filament 应用程序中有一个名为 LoadResource 的资源。此资源上的标准开箱即用编辑操作工作正常 - 但它不会响应我在编辑操作语句中放置的任何生命周期挂钩。

我的编辑操作如下所列:

->actions([
                Tables\Actions\ActionGroup::make([
                    Tables\Actions\ViewAction::make(),
                    EditAction::make()
                        ->before(function () {
                            dd('test');
                        }),
                    Tables\Actions\DeleteAction::make(),
                ])
            ])

我正在使用以下内容:

use Filament\Actions\EditAction;

然而,我从未访问过 beforeFormFilled() 闭包中的函数。任何帮助的想法将不胜感激。

期待 beforeFormFilled() 中的函数运行。

我尝试将生命周期挂钩放置在资源的编辑页面上 - 成功了。但是,我不知道如何从编辑页面引用模型

$this->
引用编辑页面,而不是表单或模型。当我尝试将模型传递到编辑页面时,出现错误。

作为参考,以下方法确实有效 - 解决了上面提到的麻烦:

protected function beforeSave (array $data): void
    {

        dd($data);
    }
action edit laravel-filament before-save
1个回答
0
投票

->afterFormFilled(function (EditAction $action, $record) { dd($记录); // 如果需要,例如从另一个表中获取数据,但这通常发生在表单定义本身中。 }) ->表格([ Forms\Components\Select::make('fromaccount') ->label('来自帐户') ->选项(函数(){ // 使用where条件获取账户列表 return Account::where('account_id', 33) // 在此处应用您的条件 ->pluck('name', 'id') // 检索选择选项的名称和 id ->toArray(); // 转换为数组用于选项方法 }) ->默认(函数($记录){ // 根据正在编辑的记录设置默认值 返回 $record->account_id; // 假设'fromaccount_id'是存储帐户ID的字段 }),

© www.soinside.com 2019 - 2024. All rights reserved.