首页 > 解决方案 > Laravel 数组会话

问题描述

我需要能够在会话中使用数组。我想存储不同的candidate_id以便以后找到候选人。

CandidateController

public function search(Request $request)
{

$data=$request->validate([
    'keyword' => 'required',
    'word' => 'required',]);
$keyword= $data['keyword'];
$key= $data['key'];
$candidate = candidate::where($key, $keyword)->get();
return view('candidate.list', compact('candidate'));
 } 

我应该做些什么来创建一个包含 [candidate's ids] 的会话数组,然后使用这些 id 找到那些 $candidate 并返回view('candidate.list', compact('candidate'))?可能吗 ?

标签: phplaravelsessionlaravel-8

解决方案


$candidate = 候选人::where($key, $keyword)->get(); 在此行循环之后通过$candidate.

 $ids = [];
    foreach ($candidate as $obj){ 
     
      $ids = $obj->candidate_id; 
}

session()->push('candidate_ids', $ids);

return view('candidate.list', compact('candidate'));

当您需要从会话中获取此数组时

@foreach (Session::get('candidate_ids') as $id)
    {{$id}}
@endforeach

推荐阅读