【问题标题】:How to use cookies for getting multiple value on laravel 5.6?如何使用 cookie 在 laravel 5.6 上获取多个值?
【发布时间】:2019-04-23 18:54:47
【问题描述】:

实际上,我是 cookie (haven't work on it) 的新手,我想做的是每当客户访问我的网站并阅读一篇文章时,获取该阅读文章的 ID(无需登录)。每当客户从he/she 访问过的同一设备返回同一站点时然后隐藏已阅读的文章仅显示未阅读的文章。

我必须尝试创建这样的 cookie

Cookie::queue(cookie('key', 'value', $minute = 10));
request()->cookie('key');

但每当我更新值时,它只会获得最新的值。那么是否可以通过使用cookie来做到这一点?还是有什么替代方法可以让这成为可能?

【问题讨论】:

    标签: php laravel cookies session-cookies setcookie


    【解决方案1】:

    是的,这是可能的。您必须使用 id 数组,而不是使用简单的值。

    例子:-

    Cookie::queue(Cookie::make('seen_posts', json_encode([1,2]), $minutes));
    

    更新 cookie

    $seen_posts = json_decode($request->cookie('seen_posts'),true);
    
    $seen_posts[] = 3;
    
    Cookie::queue(Cookie::make('seen_posts', json_encode($seen_posts), $minutes));
    

    【讨论】:

    • 感谢您的回复,但是当我尝试它时,它运行不佳() 必须是 string 或 null 类型,给定数组,在第 69 行的 D:_coding\Freelance\efiling\vendor\laravel\framework\src\Illuminate\Cookie\CookieJar.php 中调用我是否有任何错误?
    • 编辑了答案
    • 第一次插入时效果很好,但更新时不更新 cookie //更新时我们可以过滤重复的 id 吗?
    猜你喜欢
    • 2017-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 2018-11-05
    • 2018-09-27
    • 2020-10-07
    • 2019-01-20
    相关资源
    最近更新 更多