Php Larvel如何在会话中存储模型和关系ID,以便再次获取关系
我认为我这样做是错误的,因为它看起来太难了……基本上,我是将我的模型和关系id作为数组数组写入会话变量中,我希望在另一端检索会话数据时重新加载模型。我是否可以以不同的方式存储会话数据以使其更简单 这就是我存储阵列的方式Php Larvel如何在会话中存储模型和关系ID,以便再次获取关系,php,session,laravel,Php,Session,Laravel,我认为我这样做是错误的,因为它看起来太难了……基本上,我是将我的模型和关系id作为数组数组写入会话变量中,我希望在另一端检索会话数据时重新加载模型。我是否可以以不同的方式存储会话数据以使其更简单 这就是我存储阵列的方式 $bookingsPaymentPending[$attendee\u id][]=$program\u id 对于1名与会者(id=416)和2个相关项目(id=2,4),这给了我一些类似于 Array([416]=>Array([0]=>2[1]=>4)) 我正试图通过一个有
$bookingsPaymentPending[$attendee\u id][]=$program\u id代码>
对于1名与会者(id=416
)和2个相关项目(id=2,4
),这给了我一些类似于
Array([416]=>Array([0]=>2[1]=>4))
我正试图通过一个有说服力的查询,将其转化为$attenders with('programs')
和相关程序的集合
差不多
foreach ($bookingPaymentPending as $attendee_id => $program_ids)
$attendee[]= Attendee::find($attendee)->with('program'=>function($q) use ($program_ids){
$q->whereIn('id', $program_ids);
}
`
但是它不起作用,而且它只是一个$attenders
数组,我可能想要这个集合。您应该能够通过序列化来实现这一点
在存储对象之前对其使用PHP serialize(),并取消序列化()以恢复它们
另请参见此处的文档:
但是,我真的不建议以这种方式存储数据。将有说服力的对象保存到数据库中,如果您想在会话中使用它们,只需引用id,并在需要时从数据库中获取它。我成功地做到了这一点,您需要将$attenders
集合按会话变量的原样存储以及关系,请查看laravels