laravel通过最新版本获取会话数据和顺序
我正在使用Laravel处理会话数据,我可以将会话存储到变量中并检索整个数据。但我的问题是,我想从存储的会话中将会话排序为最新的5个id 存储会话laravel通过最新版本获取会话数据和顺序,laravel,session,Laravel,Session,我正在使用Laravel处理会话数据,我可以将会话存储到变量中并检索整个数据。但我的问题是,我想从存储的会话中将会话排序为最新的5个id 存储会话 session()->push('products.recently_viewed', $product->getKey()); $ids = session()->get('products.recently_viewed'); $recently_viewed = Product::whereIn('id', $ids)-&g
session()->push('products.recently_viewed', $product->getKey());
$ids = session()->get('products.recently_viewed');
$recently_viewed = Product::whereIn('id', $ids)->get();
检索会话
session()->push('products.recently_viewed', $product->getKey());
$ids = session()->get('products.recently_viewed');
$recently_viewed = Product::whereIn('id', $ids)->get();
检索工作正常,我只想从会话产品中获取最新的5个id。最近查看了
e、 g
来自会话的数据
[1,3,7,6,8,9,11,2]
我想得到的数据
[2,11,9,8,6]
您需要数组\u切片和数组\u反转
$items = array_reverse(array_slice($yourSessionArray, -5));
-5表示“从数组末尾之前的五个元素开始”。
反过来会颠倒数组的顺序,所以最后一个是第一个。谢谢@Cameron,我还需要一个唯一的来过滤重复id,我应该这样做吗<代码>$items=array\u reverse(array\u切片(array\u unique($recently\u view\u id),-5))代码>