【问题标题】:Store & Fetch data using session in laravel?在 laravel 中使用会话存储和获取数据?
【发布时间】:2019-07-17 06:07:57
【问题描述】:

提前感谢您!我的会话有一个问题。当我存储和检索数据时,它可以工作。我有一张桌子,计划我有 2 个条目。第一次保费和第二次免费增值。这只是一个下标过程。所以我的问题是,当我点击溢价时,它应该获取唯一的溢价,但在我的情况下,它会打印溢价和免费增值。我的代码如下:

//Controller

1. getplan()

public function getPlan(){

        $plans = ComposerPlan::get();
        Session::put('plan', $plans);

        $this->layout->content = View::make('auth.authcomposer.composer-plan', compact('plans'));
    }

2. getComSignup

public function getComSignup(){

        // Show the page
        $value = Session::get('plan');
        $this->layout->content = View::make('auth.authcomposer.composer-signup', compact('value'));
    }

//Blade

//for put session
<a class="btn btn-default btn-green no-pjax plan-box @if($blanket) hidden @endif" data-plan-id="{{ $plan->id }}" href="{{ URL('/composer-signup')}}">Select Plan</a>

//for fetch session

@foreach($value as $v)
 {{$v->name}}
@endforeach

【问题讨论】:

    标签: php laravel-5 laravel-4


    【解决方案1】:

    我想, 您需要更改您的查询,因为您同时获得订阅高级版和免费增值版。

    也许您需要添加类似的内容,具体取决于您的数据库。

    $plans = ComposerPlan::where('subscription_type','premium')->get();
    

    【讨论】:

      【解决方案2】:
      $plans = ComposerPlan::get();
      Session::put('plan', $plans);
      

      没有意义。

      您只是将ComposerPlan 表中的所有记录放入会话中

      解决方案取决于您的 ComposerPlan 表中的内容。

      如果ComposerPlan有可用的计划及其数据:

      您应该有另一个用于关系“user_id”+“plan_id”的表。这种关系也可以通过添加“plan_id”存储在用户表中,因为据我了解,用户不应该拥有超过 1 个计划

      如果ComposerPlan是那个关系表:

      $plans = ComposerPlan::where("user_id", auth()->id())->first(); 
      //note: first() will get 1 result so no foreach() should be used
      

      【讨论】:

        猜你喜欢
        • 2023-03-07
        • 2022-11-28
        • 1970-01-01
        • 2018-02-10
        • 2016-08-24
        • 2015-06-18
        • 1970-01-01
        • 2014-05-27
        • 1970-01-01
        相关资源
        最近更新 更多