2016-06-03 3 views
1

나는 카트를 만들고있다. 지금은 세션에 제품을 추가하고 장바구니에서 제품을 볼 수 있습니다.세션에 값을 보내는 방법은 무엇입니까? Laravel

Add 기능 :

public function add(Request $request, $id) 
{ 
    $request->session()->push('cart', $id); 
    flash()->success('Prekė sėkmingai pridėtą į krepšelį.'); 
    return redirect('/prekes'); 
} 

Show 기능 :

public function show() 
{ 

    $products = session('cart'); 
    $products = Product::find($products); 
    return view('cart.show', compact('products')); 
} 

그리고 이것은 Product 페이지입니다 : 내가 보내려면 그래서

<div class="mainContainer"> 
     <h1>{{$product->title}} <i class="fa fa-shopping-cart" aria-hidden="true"></i></h1><br> 
       <img style="height: 200px" src="{{$product->image}}"><br> 
       <p>{!! $product->description !!}</p> 
     <div class="bootstrap-wrapper"> 
      <a style="float: right; margin-top: -150px; margin-right: 300px; font-size: 24px" 
       href="/prideti-i-krepseli/{{$product->id}}" class="btn btn-success"> 
       <i class="glyphicon glyphicon-shopping-cart"></i> Pridėti į krepšelį</a><br> 
      {{number_format($product->price, 2, '.', ',')}} EUR 
     </div> 
    </div> 

이 내 CartController 기능입니다 양식의 일부 값, 어떻게 삽입합니까? 회의에서 그 사람들? 함수 후 add에 게시 메소드를 작성해야합니까? 몇 가지 예를 들어 주시겠습니까? 나는 각 품목을위한 양을 놓을 모양을 만들고 싶다.

+0

가능한 복제와 같은 데이터 [Laravel 어떻게 세션 Laravel에 추가 데이터/값을 저장] 것을 보여 (http://stackoverflow.com/questions/37597273/laravel 데이터 저장소에서의 데이터 저장 가치) – CarlosCarucce

+0

https://laravel.com/docs/5.2/session#basic-usage – CarlosCarucce

+0

@CarlosCarucce에서 확인하십시오. 알았어. "수량"이라는 빈 필드를 설정 한 다음 내 컨트롤러의 세션으로 보내시겠습니까? –

답변

1

세션 배열에 가치 배열을 추가하고 싶습니다. (장바구니는 배열로 표시 될 수 있습니다.)

배열에 값을 저장하려면이 아닌

public function add(Request $request, $id, $quantity) 
{ 
    $product_from_db = Product::find($id); 
    $product = []; 
    $product['id'] = $id; 
    //you can add all data you need like this etc... 
    $product['name'] = $product_from_db->name; 
    $product['quantity'] = $quantity;   
    $request->session()->push('cart', array_merge((array)Session::get('cart',[]), $product));  
    flash()->success('Prekė sėkmingai pridėtą į krepšelį.'); 
    return redirect('/prekes'); 
} 

세션에서 데이터를받을

public function add(Request $request, $id) 
{ 
    $request->session()->push('cart', $id); 
    flash()->success('Prekė sėkmingai pridėtą į krepšelį.'); 
    return redirect('/prekes'); 
} 

으로 단일 세션 변수로 당신은 변경해야

public function show() 
{  
    $products = session('cart'); 
    $products = Product::find($products); 
    return view('cart.show', compact('products')); 
} 

교체

그리고 당신의보기에 당신은이

@if(Session::has('cart')) 
    @foreach(Session::get('cart') as $item) 
     {{$item['id']}} 
     {{$item['name']}} 
     {{$item['quantity']}} 
    @endforeach 
@endif 
+0

세션에 제품의 수량을 추가하고 싶습니다. 그것은 새로운 가치입니다. 그리고 어떻게해야합니까? –

+0

@labas GamePage visogero 원하는 답변을 얻을 수 있도록 답을 업데이트했습니다. 희망은 도움이 – KuKeC

+0

그래서 지금은 "수량"값을 얻기 위해 입력과 내보기에서 양식을 만들어야합니까? –

관련 문제