2016-03-31 15 views
1

私はifステートメントを持っていますが、複数のelseが必要です。ここ複数のLaravel else

は、私は3つの入力フィールド商品名、製品コード、orderCodeを持って私のコントローラのコード

if (Input::get('productName') == "0" && Input::get('orderCode') == "") { 
     $productCode = Input::get('productCode'); 

     $productName = westcoproduct::where('productCode', $productCode)->first()->productName; 
     $productPrice = westcoproduct::where('productCode', $productCode)->first()->price; 

     $order = new westcoorderitem; 
     $order->productName = $productName; 
     $order->productCode = $productCode; 
     $order->price = $productPrice; 
     $order->quantity = Input::get('quantity'); 
     $order->westcoorder_id = Input::get('westcoorder_id'); 
     $order->save(); 
    } else { 
     $productName = Input::get('productName'); 

     $productCode = westcoproduct::where('productName', $productName)->first()->productCode; 
     $productPrice = westcoproduct::where('productName', $productName)->first()->price; 

     $order = new westcoorderitem; 
     $order->productName = $productName; 
     $order->productCode = $productCode; 
     $order->price = $productPrice; 
     $order->quantity = Input::get('quantity'); 
     $order->westcoorder_id = Input::get('westcoorder_id'); 
     $order->save(); 
    } if(Input::get('productName') == "0" && Input::get('productCode') == "0") { 
     $orderCode = Input::get('orderCode'); 

     $productName = westcoproduct::where('orderCode', $orderCode)->first()->productName; 
     $productCode = westcoproduct::where('orderCode', $orderCode)->first()->productCode; 
     $productPrice = westcoproduct::where('orderCode', $orderCode)->first()->price; 

     $order = new westcoorderitem; 
     $order->productName = $productName; 
     $order->productCode = $productCode; 
     $order->price = $productPrice; 
     $order->quantity = Input::get('quantity'); 
     $order->westcoorder_id = Input::get('westcoorder_id'); 
     $order->save(); 
    } 

です。そして、これはフェイルドの1つだけが動いている場合にはうまくいくはずです。 productnameフィールドに値が入力されていれば動作します。しかし、私は他の2つを動作させる方法を理解できません。

のでorderCode商品名や製品コードと空になり、その逆

答えて

1

おそらくelseifを使用したい万力。

} elseif (Input::get('productName') == "0" && Input::get('productCode') == "0") { 

またはネストされたif...else:私はそれは単に空であることを意味した"0"を追加し、私は

if (Input::get('productName') == "" && Input::get('orderCode') == "") { 
     $productCode = Input::get('productCode'); 

     $productName = westcoproduct::where('productCode', $productCode)->first()->productName; 
     $productPrice = westcoproduct::where('productCode', $productCode)->first()->price; 

     $order = new westcoorderitem; 
     $order->productName = $productName; 
     $order->productCode = $productCode; 
     $order->price = $productPrice; 
     $order->quantity = Input::get('quantity'); 
     $order->westcoorder_id = Input::get('westcoorder_id'); 
     $order->save(); 
    } elseif(Input::get('productCode') == "" && Input::get('orderCode') == "") { 
     $productName = Input::get('productName'); 

     $productCode = westcoproduct::where('productName', $productName)->first()->productCode; 
     $productPrice = westcoproduct::where('productName', $productName)->first()->price; 

     $order = new westcoorderitem; 
     $order->productName = $productName; 
     $order->productCode = $productCode; 
     $order->price = $productPrice; 
     $order->quantity = Input::get('quantity'); 
     $order->westcoorder_id = Input::get('westcoorder_id'); 
     $order->save(); 
    } elseif(Input::get('productName') == "" && Input::get('productCode') == "") { 
     $orderCode = Input::get('orderCode'); 

     $productName = westcoproduct::where('orderCode', $orderCode)->first()->productName; 
     $productCode = westcoproduct::where('orderCode', $orderCode)->first()->productCode; 
     $productPrice = westcoproduct::where('orderCode', $orderCode)->first()->price; 

     $order = new westcoorderitem; 
     $order->productName = $productName; 
     $order->productCode = $productCode; 
     $order->price = $productPrice; 
     $order->quantity = Input::get('quantity'); 
     $order->westcoorder_id = Input::get('westcoorder_id'); 
     $order->save(); 
    } 
の下 elseifチェックにコードをそれらすべてを変更したため、私は自分のコードを修正
if (Input::get('productName') == "0") { 
    if (Input::get('orderCode') == "") { 
     $productCode = Input::get('productCode'); 

     $productName = westcoproduct::where('productCode', $productCode)->first()->productName; 
     $productPrice = westcoproduct::where('productCode', $productCode)->first()->price; 
    } elseif { 
     if (Input::get('productCode') == "0") { 
       $orderCode = Input::get('orderCode'); 

       $productName = westcoproduct::where('orderCode', $orderCode)->first()->productName; 
       $productCode = westcoproduct::where('orderCode', $orderCode)->first()->productCode; 
       $productPrice = westcoproduct::where('orderCode', $orderCode)->first()->price; 
     } 
    } else { 
     $productName = Input::get('productName'); 

     $productCode = westcoproduct::where('productName', $productName)->first()->productCode; 
     $productPrice = westcoproduct::where('productName', $productName)->first()->price; 
    } 

    $order = new westcoorderitem; 
    $order->productName = $productName; 
    $order->productCode = $productCode; 
    $order->price = $productPrice; 
    $order->quantity = Input::get('quantity'); 
    $order->westcoorder_id = Input::get('westcoorder_id'); 
    $order->save(); 
} 
+0

これを試してみましたが、私はこのエラーを受け取りました。 'syntax error、unexpected 'elseif'(T_ELSEIF)'しかし、私はそれらをelseifとして実行しても、コードは動作しません... – SCRATK

+0

私の問題を解決しましたあなたの助けを借りてありがとう – SCRATK

関連する問題