2016-10-14 2 views
0

Пожалуйста, проверьте это изображение, вы получите представление о том, что мне нужно LINK Я хочу вставить много рейсов на один транспорт, но я хочу, чтобы люди выбирали для перевозки и полеты все, что работает идеально , но для если я выберу двух человек в первом рейсе, два человека во втором полете в моем сводном столе, его имя 4 человека в обоих полетных деатилях. проверить это linkобновить сводную таблицу, используя foreach loop с динамическим вводом формы

я хочу вставить имя лица separte как первый полет deatils два человека и второй детали полета два человека это мой контроллер

$data = array(); 
     $origin = $request->get('origin'); 
     $destination = $request->get('destination'); 
     $flight_no = $request->flight_no; 
     $dep_date = $request->dep_date; 
     $arrival_date = $request->arrival_date; 
     foreach ($origin as $key => $value){ 
      $data[] = [ 
       'transport_id' => $new->id, 
       'origin' => $value, 
       'destination' =>$destination[$key], 
       'flight_no' =>$flight_no[$key], 
       'dep_date' =>Carbon::parse($dep_date[$key])->format('Y-m-d h:i'), 
       'arrival_date'=> Carbon::parse($arrival_date[$key])->format('Y-m-d h:i'), 
       'user_id'=> Auth::id() 
      ]; 
     } 

     foreach($data as $d){ 
      $flight = Flight::create($d); 
      $flight->crews()->attach($request->input('flight_crew_list')); 
     } 

как я могу? если не понятно, что вам нужно, чтобы помочь мне? EDIT: Моя форма как этот им, добавив динамическую форму полета, используя VueJs

<tr v-for="row in rows"> 

<td> 

    <ul> 
     @foreach($crew_id as $key => $name) 
      <li> {!! Form::checkbox('flight_crew_list[]', $key) !!} 
      <b> {!! strtoupper($name) !!} </b>: ({{ $crew_type[$key] }})</li> 
     @endforeach 
    </ul> 
</td> 

<td> 
    <div class="row col-md-offset-1"> 
     <div class="col-md-4"> 
      {!! Form::label('origin', 'Origin',['class'=>'control-label']) !!} 
     </div> 
     <div class="col-md-8"> 
      {!! Form::text('origin[]',null,['class' => 'input-field input-sm text-upper',]) !!} 
     </div> 
    </div> 
    <div class="row col-md-offset-1"> 
     <div class="col-md-4"> 
      {!! Form::label('destination', 'Destination',['class'=>'control-label']) !!} 

     </div> 
     <div class="col-md-8"> 
      {!! Form::text('destination[]',null,['class' => 'input-field input-sm text-upper']) !!} 
     </div> 
    </div> 
    <div class="row col-md-offset-1"> 
     <div class="col-md-4"> 
      {!! Form::label('flight_no', 'Flight No',['class'=>'control-label']) !!} 
     </div> 
     <div class="col-md-8"> 
      {!! Form::text('flight_no[]',null,['class' => 'input-field input-sm text-upper']) !!} 
     </div> 
    </div> 
    <div class="row col-md-offset-1"> 
     <div class="col-md-4"> 
      {!! Form::label('datetime3', 'Departure',['class'=>'control-label']) !!} 
     </div> 
     <div class="col-md-8"> 
      {!! Form::text('dep_date[]',null,['class' => 'input-field input-sm','id'=>'datetime3']) !!} 
     </div> 
    </div> 
    <div class="row col-md-offset-1"> 
     <div class="col-md-4"> 
      {!! Form::label('datetime4', 'Arrival Date',['class'=>'control-label']) !!} 
     </div> 
     <div class="col-md-8"> 
      {!! Form::text('arrival_date[]',null,['class' => 'input-field input-sm','id'=>'datetime4']) !!} 
     </div> 
    </div> 
</td> 
<td> 
    <a @click="removeRow(row)"> 
    <button class="btn btn-xs " type="button" id="dim"> 
     <span class="glyphicon glyphicon-minus"></span> 
    </button> 
    </a> 
</td> 
</tr> 

ответ

0

Это не очень понятно, как это сделано ваша форма ввода и что именно поступает во входной («flight_crew_list»).

Я предполагаю, что вход ('flight_crew_list') содержит все идентификаторы членов экипажа, выбранные во всей форме, что объясняет, почему у вас есть все 4 члена экипажа, назначенные на один рейс.

Если вы хотите получить более подробную информацию, отправьте исходный код формы, которую вы приложили на первом снимке.

UPD:

Как я подозревал, что проблема лежит здесь:

{!! Form::checkbox('flight_crew_list[]', $key) !!} 

Вы генерируя уникальный flight_crew_list массив, который содержит все элементы, отмеченные в форме. Однако то, что вам нужно для каждого полета держать массив проверяемых членов экипажа:

{!! Form::checkbox('flight_crew_list[' . $row_id ']', $key) !!} 

Так после того, как в заднем конце вы можете прикрепить только значения, которые были проверены на наличие этого конкретного полета.

foreach($data as $index => $d){ 
    $flight = Flight::create($d); 
    $flight->crews()->attach($request->input('flight_crew_list[' . $index . ']')); 
} 
+0

Чек мой вопрос – Developer

+0

эй Thnks но им добавляющих строк, используя ** VUE-JS ** IM перед проблемой передать, что ** $ ROW_ID ** – Developer

+0

я знаю, как получить $ ROW_ID как этот '@ {{ $ index}} 'Я могу получить идентификатор, но как пройти? Есть идеи ? – Developer

Смежные вопросы