0

我正在尝试在我的 URL 中对递增的 ID 进行哈希处理。我似乎无法正确编码,我遵循了这个这个教程,但这没有帮助。我尝试了我在getRouteKey()控制器中的代码,它似乎正在完成这项工作并按预期对 ID 进行哈希处理。

有人看到我做错了吗?

public function getRouteKey()
{
    $key = $this->getKey();
    $hashids = new \Hashids\Hashids('MySecretSalt', 5);
    return $hashids->encode($key);
}

更新 然后我使用如下绑定/解码;

    Route::model('property', Property::class);
    Route::bind('property', function ($value, $route) {
        $hashids = new \Hashids\Hashids('MySecretSalt', 5);
        return $hashids->decode(intval($value))[0];
    });

我的路线是;

Route::get(
    '/{property}/vvv/',
    'PropertyController@property_dashboard'
)->name('property.dashboard');
4

1 回答 1

0

我猜您使用的是 javascript 前端而不是刀片,因此您无法访问 Laravel 路由功能。如果那是真的,并且您正在使用 Ziggy 之类的东西来创建您的路线,您总是可以将 hashid 传递给 ziggy 的 route 方法。您可以在模型中创建 hashid 属性以返回到前端。

于 2020-10-08T04:31:46.827 回答