带有自定义模型绑定的路线不工作

发布于 2025-02-09 14:07:59 字数 1266 浏览 1 评论 0原文

我正在尝试在文件模型中获取我的路由“弦”:

route('public-file', ['file' => $this]);

有更多上下文:

public function getPublicUrl(): ?string
{
    if ($this->isNotPublic()) {
        return null;
    }

    return route('public-file', ['file' => $this]);
}

我的路线:

Route::get('/public/files/{file:public_access_token}', \App\Http\Controllers\PublicFileController::class)->name('public-file');

我期望的是:我尝试的

http://myhost.com/public/files/<token>

错误:

Missing required parameter for [Route: public-file] [URI: public/files/{file}] [Missing parameter: file].

我尝试过的是:

  • route('public-file'('public-file' ,['file'=&gt; $ this])
  • 路由('public-file',$ this)
  • 路由('public-file',$ this-&gt; public_access_token)

成功生成的路由是:

route('public-file', $this->id);

但是该路由显然无效,因为它正在等待public_access_token而不是ID。

有什么想法吗? thx!

PS:在Laravel 9.17,php8.1上运行的应用程序

I am trying to get the my route "stringified" within my File model:

route('public-file', ['file' => $this]);

With more context:

public function getPublicUrl(): ?string
{
    if ($this->isNotPublic()) {
        return null;
    }

    return route('public-file', ['file' => $this]);
}

My route:

Route::get('/public/files/{file:public_access_token}', \App\Http\Controllers\PublicFileController::class)->name('public-file');

What I am expecting:

http://myhost.com/public/files/<token>

The error I am getting:

Missing required parameter for [Route: public-file] [URI: public/files/{file}] [Missing parameter: file].

What I've tried:

  • route('public-file', ['file' => $this])
  • route('public-file', $this)
  • route('public-file', $this->public_access_token)

A route is successfully generated with:

route('public-file', $this->id);

But the route is obviously invalid, as it's waiting for a public_access_token and not an ID.

Any idea ? ???? Thx !

ps: App running on Laravel 9.17, PHP8.1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文