在 Laravel 中使用会话存储和获取数据?

先感谢您!我有一个会话问题。当我存储和检索数据时,它可以工作。我有一张桌子,计划我有 2 个条目。第 1 次溢价和第 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


三国纷争
浏览 119回答 2
2回答

HUWWW

$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();&nbsp;//note: first() will get 1 result so no foreach() should be used

慕妹3242003

我认为,您需要更改您的查询,因为您同时获得高级订阅和免费增值服务。也许你需要添加这样的东西,取决于你的数据库。$plans&nbsp;=&nbsp;ComposerPlan::where('subscription_type','premium')->get();
打开App,查看更多内容
随时随地看视频慕课网APP