You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Filament Table Actions中url()方法无法正常工作求助

问题原因及解决方法

你的问题出在getTableActions方法中,传递给路由的模型实例没有被正确解析为主键ID。虽然getTableRecordUrlUsing能正常工作,但Filament在处理表格动作的url闭包时,对模型实例的解析逻辑略有差异,导致['id' => $r]无法正确提取ID参数。

修复方案

修改getTableActions中的路由调用方式,明确传递模型的主键ID,或者直接将模型实例传给路由函数(Laravel会自动解析主键):

方案1:明确传递ID

protected function getTableActions()
{
    return [
        Action::make('edit')
            ->url(fn (Recipe $r): string => route('recipe.show', ['id' => $r->id])),
    ];
}

方案2:直接传递模型实例(更简洁)

protected function getTableActions()
{
    return [
        Action::make('edit')
            ->url(fn (Recipe $r): string => route('recipe.show', $r)),
    ];
}

两种方法都能让路由正确获取到id参数,解决缺失参数的错误。

内容的提问来源于stack exchange,提问作者thc1967

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:05:29