Mik*_*ick 3 php laravel laravel-5 hashids
我正在从一个数据库中获取一组任务作为一个雄辩的集合,然后我将该集合发送到我的视图,我在那里做了一个foreach.这里没问题.除此之外,我需要id在我的视图中引用任务(网址操作等).但我显然不希望这个在源代码中,所以我使用这个库来散列id.但在视图中这样做似乎是错误的.
有没有办法在模型或控制器中散列id?
这是我在控制器中调用集合的方式:
$tasks = Auth::user()->tasks()->orderBy('created_at', 'desc')->get();
Run Code Online (Sandbox Code Playgroud)
这就是我目前在我的视图中对id进行哈希的方法:
<a href="{{ route('tasks.markascompleted', Hashids::encode($task->id)) }}">
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
您可以使用访问器方法来完成它.首先,在Task模型的顶部附加一个新属性:
protected $appends = ['hashid'];
Run Code Online (Sandbox Code Playgroud)
然后,在同一模型中,创建一个填充属性的访问器:
public function getHashidAttribute()
{
return Hashids::encode($this->attributes['id']);
}
Run Code Online (Sandbox Code Playgroud)
完成后,只需在视图中调用附加属性:
<a href="{{ route('tasks.markascompleted', $task->hashid) }}">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2592 次 |
| 最近记录: |