【问题标题】:Laravel - Store selected data in sessionLaravel - 在会话中存储选定的数据
【发布时间】:2016-12-18 10:12:46
【问题描述】:

会话中的数据只在页面刷新之前存在:(如何让它活得更久?

index.blade.php

<form action="" method="post">
    {!! Form::select('first_name', $firstNames) !!}
<button type="submit" value="Submit">Go</button>
</form>

DashboardController.php

public function getIndex( Request $request )
{

    $this->data['online_users'] = \DB::table('tb_users')->orderBy('last_activity','desc')->limit(10)->get();
    $this->data['firstNames'] = \DB::table('tb_users')->orderBy('first_name')->lists('first_name', 'id');
    print_r($this->data['firstNames']);
    \Session::put('firstNames',Input::get('first_name'));
    $this->data['active'] = '';
    return view('dashboard.index',$this->data);
}

【问题讨论】:

  • 你为什么将它存储在会话中,确切地说?这种东西可以直接从控制器传给视图,而且应该是。
  • 首先通过保留 print_r($this->data['firstNames']); 来检查来自数据库的查询结果;
  • print_r($this-&gt;data['firstNames']); 重新调整正确 Array ( [1] =&gt; Root [4] =&gt; TFS )
  • 嗨,斯科特。能否请您更具体一点。这是我在会话中存储数据的第一个任务。我已经研究了几天了,没有任何进展

标签: php laravel session


【解决方案1】:

你可以这样做:

return view('dashboard.index')->with(['data', $this->data]);

【讨论】:

  • 我在上面的 Undefined variable: pageTitle 中遇到了这个错误
  • 我遇到了同样的错误。这可能对你有帮助 我在上面展示了整个 Controller 功能。
  • 我忘了括号
【解决方案2】:

使用compact

$data['online_users'] = \DB::table('tb_users')->orderBy('last_activity','desc')->limit(10)->get();
$data['firstNames'] = \DB::table('tb_users')->orderBy('first_name')->lists('first_name', 'id');
$data['firstName'] = Input::get('first_name'));
$data['active'] = '';
return view('dashboard.index', compact('data'));

那么您将能够访问所有值:

  • {{ $data['firstNames'] }}
  • {{ $data['firstName'] }}
  • {{ $data['online_users'] }}
  • {{ $data['active'] }}

在这种情况下不需要会话

【讨论】:

  • 感谢您的回答。我收到Undefined variable: pageTitle 错误。你有想法吗?
  • 刀片模板中有这个变量吗?确保将其设置为一个值
  • 嗨。我从刀片模板中删除了 pageTitle 变量。现在我没有收到任何错误,但会话数据仍然相同,只在刷新页面之前存在
  • 为什么你需要一个会话,当你刷新请求可能没有设置为Input::get('first_name'))
  • 我将在发布表单时在只读字段中打印此选择 {{ Session::get('first_name') }}。当其他用户登录系统时,他们将只看到包含其用户名的行,此查询 return " WHERE first_name = '".Auth::user()-&gt;first_name."' ";
猜你喜欢
  • 1970-01-01
  • 2018-02-10
  • 2023-03-07
  • 2015-06-18
  • 2019-05-02
  • 2022-11-28
  • 2016-09-17
  • 2016-10-02
相关资源
最近更新 更多