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

标签 php laravel string-hashing

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

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

最佳答案

是的,您可以使用 mutators 扩展您的模型.将此方法放入您的模型中,或者甚至更好地放入您的所有模型都应该扩展的基础模型中。

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

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

关于php - Laravel 用 hashids 替换所有 get 的主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29821350/

相关文章:

php - 使用 JSON 插入时出现问题

php - 是否有代码可以获取页面概览(例如 Facebook 状态)

php - Laravel 更新数据库有 Eloquent 问题?

php - 正则表达式 - 排除数字之间的 "-"

php - Laravel 5 和 AJAX 响应

php - 如何在浏览器中使用 artisan 命令并检查错误

php - 如何在 Laravel 中覆盖 CSS?

c++ - 如何在 C++ 中对字符串进行哈希处理?

string - 更改字符串的字母以获得最高分