我将数组数据存储在会话中,如下所示。
session(['my_key' => ['car' => 123, 'motor' => 45, 'boat' => 678]]);
要获取密钥,我可以执行以下操作:
$car_key = session('my_key.car');
$motor_key = session('my_key.motor');
$boat_key = session('my_key.boat');
或者我可以执行以下操作:
$my_keys = session('my_key');
$car_key = collect($my_keys)->get('car');
$motor_key = collect($my_keys)->get('motor');
$boat_key = collect($my_keys)->get('boat');
我不知道session()
和collect()->get()
函数如何处理array
。在这种情况下,一种方法是否比另一种更好?还是没关系,甚至会话都可以存储具有大数据的数组?
答案 0 :(得分:3)
collect()
助手用于创建集合。
第二种方法是创建三个不同的集合,其中包含相同的集合数据。然后,通过每个集合的键获取数据。感冒似乎是多余的,没有被使用,应该使用。
使用session()
助手
答案 1 :(得分:0)
要视情况而定。
如果您要使用仅在集合中可用的方法,那么这将是一种非常有效的方法。一种更简单的方法是使用:
$myCollection = collect(session('my_key'));
这样,您可以只使用$myCollection->get('car')
等,而不用创建多个集合。
但是,如果您只想检索该值并对数组满意,则可以使用session()
帮助器并按正常方式返回数据。