2016-07-19 4 views
1

Я пытаюсь сравнить выбранные поля ниже, чтобы пользователь не отправлял то же имя фрукта.Предотвратить дублирующее значение в полях выбора

Например

Field #1: Apple 
Field #2: Apple 
Field #3: Banana 

код у меня до сих пор:

Посмотреть

<table class="table table-bordered"> 
     <thead> 
      <th>Product</th> 
      <th>Quantity</th> 
     </thead> 
     <tbody class="body"> 
     <tr> 
      <td>{!! Form::select('fruits[]', $products, null, ['class'=>'form-control']) !!}</td> 
      <td>{!! Form::text('quantity[]', null, ['placeholder' => 'Insert Quantity', 'class' => 'form-control']) !!}</td> 
     </tr> 
     <tr> 
      <td>{!! Form::select('fruits[]', $products, null, ['class'=>'form-control']) !!}</td> 
      <td>{!! Form::text('quantity[]', null, ['placeholder' => 'Insert Quantity', 'class' => 'form-control']) !!}</td> 
     </tr> 
     <tr> 
      <td>{!! Form::select('fruits[]', $products, null, ['class'=>'form-control']) !!}</td> 
      <td>{!! Form::text('quantity[]', null, ['placeholder' => 'Insert Quantity', 'class' => 'form-control']) !!}</td> 
     </tr> 
     </tbody> 
    </table> 

контроллера

$products = ['Apple', 'Banana', 'Orange']; 

$inputs = Input::all(); 

for ($i = 0; $i < count($inputs['fruits']); $i++) { 

    if($inputs['fruits'][$i] == ?????){ <-- Here is my problem 

    return back(); 

    } 
} 

Заранее спасибо за вашу помощь

ответ

0

Что относительно временной переменной, в которой хранятся выбранные вами продукты?

$products = ['Apple', 'Banana', 'Orange']; 

$inputs = Input::all(); 

$selected_products = []; 
for ($i = 0; $i < count($inputs['fruits']); $i++) { 
    $product = $inputs['fruits'][$i]; 

    if (isset($selected_products[$product])) 
     return back(); 

    $selected_products[$product] = true; 
} 
+0

Thanks @MarcoFlorian! Вы спасли мое время :) – Khai