php – Laravel用所有get的hashids替换主键

我使用laravel 4.2,我想在网址中使用哈希而不是主键.它易于使用单个记录.如果我使用预先加载,我需要遍历所有模型并用hash ID替换主键.

例如.
对于每个帖子,我需要使用hashid更改post_id.
对于帖子的每个评论,我都必须这样做.
对于评论的每个用户等等..
我可以扩展模型以默认返回hashid吗?

最佳答案 是的,您可以使用
mutators扩展模型.将此方法放入模型中,或者更好地放入您的所有模型应扩展的基础模型中.

public function getHashidAttribute()
{
    return your_hash_function($this->attributes['id']);
}

在那之后你会得到你的模型的hashid属性,如$post-> hashid,$comment-> hashid等.

点赞