如何解决laravel-admin中资源路由携带参数的问题

这篇文章主要介绍了如何解决laravel-admin中资源路由携带参数的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

在laravel-admin中定义一个资源路由,是存在参数的,例如

$router->resource('{type}/articles', ArticleController::class);

在列表页是没有问题的,但是到了编辑和详情页,由于关于路由的参数匹配是从左到右进行的,也就意味着当检测到第一个参数的时候,就会被认为是$id,这种情况下我们需要对edit,show,update方法进行重写。如下

// 注意下方parameter中的article是和你的路由参数相关的,例如我是articles,默认该参数就是article
public function edit($id, Content $content)
{
    $id = request()->route()->parameter("article");
    return parent::edit($id, $content); // TODO: Change the autogenerated stub
}

public function update($id)
{
    $id = request()->route()->parameter("article");
    return $this->form()->update($id);
}

感谢你能够认真阅读完这篇文章,希望小编分享的“如何解决laravel-admin中资源路由携带参数的问题”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注行业资讯频道,更多相关知识等着你来学习!