2016-11-11 13 views
0

私は出力てる Laravel雄弁コントローラマッチ

を提供するため

  • ID
  • 注文番号
  • 証券コード
  • 数量の詳細を含むテーブルを持っています私の見解では、注文とその商品に関するforeachをしています。

    この結果、私たちは選択した数量の商品を発送することができます。

    私の質問は、注文からコントローラに変更された可能性のある量をどのように渡すのですか?

    たとえば、

    <form> 
    @foreach($order->items as $item) 
    {{ $item->stk_code }}<br> 
    <input name="{{ $item->id }}" value="{{ $item->ordered }}"> 
    @endforeach 
    
    <button type="submit">Send Items</button> 
    </form> 
    

    私のコントローラは、(単なるアイデア)

    public function processDespatch(Request $request, $id) 
        { 
    
         $order = Order::where('OH_ORDER_NUMBER',$id)->first(); 
    
    
         foreach($order->items as $item){ 
    
          if($item->id = "$request ? ID"){ 
    
           PERFORM UPDATE COMMAND IN TABLE 
    
          } 
    
         } 
    } 
    

    私がフレーズ使ってきた上にあなたが表示されます「$要求を?ID」ここで私は私が結果をリンクすることができますどのように苦労していますか?

    うまくいけば、誰かのようにする必要がありますあなたのforeachを提出あなたのブレードで

+0

は、使用上のドキュメントを読んでいる:としてその後、あなたのコントローラ機能があることshoud

@foreach($order->items as $item) {{ $item->stk_code }}<br> <input name="items[{{ $item->id }}]" value="{{ $item->ordered }}"> @endforeach 

要求? https://laravel.com/docs/5.3/requests。それ以外は、あなたが何を求めているのか分かりません。 – Devon

+0

何が問題なのですか? –

+0

はい、それは明らかではありません。数量をあなたの関数、あるいは何かに渡したいのですか?そうであれば、それをパラメータ 'public function processDespatch(Request $ request、$ id、$ quantity)'または$ requestに渡して '$ request-> input( 'quantity')' – GiuServ

答えて

1

を助けることができる:

public function processDespatch(Request $request, $id) 
{ 
    $order = Order::where('OH_ORDER_NUMBER',$id)->first(); 

    $input_items = $request->items; // it will return an array 

    foreach($order->items as $item) { 
     if (array_key_exists($item->id, $input_items)) { 
      $item->update(['ordered' => $input_items[$item->id]]); 
     } 
    } 
} 
+0

でアクセスすることもできますあなたは天才です。 –

+1

お手伝いします:D –