首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel到期

Laravel到期
EN

Stack Overflow用户
提问于 2017-11-10 09:19:12
回答 2查看 4.8K关注 0票数 1

我正在创建一个保姆预约系统。预订24小时后,我将发送一封电子邮件给家长用户,以审查保姆。我想发送一个url给家长用户,以便当他点击它,他可以审查保姆。除了URL之外,其他所有内容都正常工作。网址必须在24小时内到期。我知道我必须在url中传递令牌,但是我应该如何处理数据库设计呢?如何根据令牌过期URL?

如有任何建议,将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-10 09:32:09

假设您有一个预订表,它至少需要以下字段

代码语言:javascript
复制
ID, user_id, nanny_id, created_at

或者类似的地方,user_id是“父用户”,nanny_id指的是被预订的保姆。在这种情况下,可以使用created_at字段来确定何时进行预订。您可以将特定的链接发送到父服务器,包括booking_id。

代码语言:javascript
复制
Route::get('/review/{booking_id}', ['uses' => 'BookingController@review', 'as' => 'booking.review']);

然后在控制器中,您可以简单地:

代码语言:javascript
复制
public function review($booking_id)
{
    $booking = Booking::find($booking_id);
    if (Carbon::now()->greaterThan($booking->created_at->addDay())) {
        // the booking is more than 24 hours ago
        return "sorry you cannot review anymore.";
    }
    return "Please review the Nanny";
}

当然,如果您需要更灵活的链接,那么只为可能有不同过期时间的特定操作设置一个额外的表可能是有意义的。

票数 6
EN

Stack Overflow用户

发布于 2017-11-10 09:33:28

我认为在某些URL中传递令牌是一个很好的解决方案。您可以为令牌创建一个模型(也可以是一个表),在这里指定令牌的创建日期、到期日期和状态。如果过期日期已经过期,则URL不再可用。

希望这句话能帮助你。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47219337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档