在 Laravel 8 中按 ID 子字符串查找会话

Find a Session by ID Substring in Laravel 8

我正在尝试通过 laravel 中的部分 ID 查找会话。

我只有 id 的第一部分,我需要查找会话是否有与之关联的 key/value。 我尝试了以下代码的各种形式。它相当简单,但不确定 laravel.

是否可行 笔记

我不确定这是否有帮助,但是 laravel 系统使用的是基于文件的会话,而不是基于数据库的会话。

        $value = 'do i have this value';

        // Session::all()->whereLike('id','aVhN8u' . '%')->get();

        foreach( Session::all()->where('id')->startsWith('aVhN8u') as $session)
        {
            if($session->has('key', $value)
            {
                // Do something interesting
            }
        }

像这样的东西应该有用。

use Illuminate\Support\Str;

$value = 'my cool value';
$prefix = 'aVhN8u';
$stored = session()->all();

$filtered = collect($stored)->filter(function ($session, $key) use ($prefix, $value) {
    return Str::startsWith($key, $prefix) && $session == $value;
})->all();