я хочу вставить данные в базу данных непосредственно из таблицы (представление), но когда я нажимаю добавить btn, вводится только первая или последняя строка - PullRequest
0 голосов
/ 14 февраля 2020

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

контроллер

public function storeLeave(Request $request){

      $admin= new Admin();
      $admin->employee_name=$request->input('employee_name');
      $admin->month=$request->input('month_JANUARY');
      $admin->earned_leave=$request->input('earned_leave_JANUARY');
      $admin->casual_leave=$request->input('casual_leave_JANUARY');
      $admin->sick_leave=$request->input('sick_leave_JANUARY');

      $admin->save();
  }

пилка (таблица)

<table class="table table-bordered table-striped text-center" id="adminTable">
    <thead>
    <tr>
        <th class="text-center">MONTHS</th>
        <th class="text-center">EARNED LEAVE</th>
        <th class="text-center">CASUAL LEAVE</th>
        <th class="text-center">SICK LEAVE</th>
    </tr>
    </thead>
    <tbody>
    @foreach($months as $month)
        <tr>
            <td> <input readonly value="{{$month}}-<?php echo date("Y"); ?>" name="month_{{$month}}" id="month" style="background:none; border: none;"> </td>
            <td> <input type="text" style="background:none; border: none " name="earned_leave_{{$month}}" id="earned_leave" ></td>
            <td> <input type="text"  style="background:none; border: none" name="casual_leave_{{$month}}" id="casual_leave"></td>
            <td> <input type="text"   style="background:none; border: none" name="sick_leave_{{$month}}" id="sick_leave"></td>

            <td>
                <input type="submit" class="btn btn-success" name="submit" id="add_leave"  value="ADD">
                <input type="hidden" name="_method" value="POST">
            </td>

        </tr>
        @endforeach
    </tbody>
</table>

Ответы [ 2 ]

0 голосов
/ 14 февраля 2020

Вы должны использовать для вставки l oop в базу данных. Приведенный ниже код является примером того, как вы обрабатываете для l oop. Счастливого кодирования.

       for($i=0; $i < count($request->employee_name); ++$i) {
          Admin::create([
            "employee_name" => $request->employee_name[$i],
         ]);
       }
0 голосов
/ 14 февраля 2020

попробуйте

    @foreach($months as $month)
    <form action="POST">
    <tr>
    <td>
        <input type="hidden" value="{{$month}}-<?php echo date(" Y "); ?>" name="month" id="month" style="background:none; border: none;"> </td>
    <td>
        <input type="text" style="background:none; border: none " name="earned_leave" id="earned_leave">
    </td>
    <td>
        <input type="text" style="background:none; border: none" name="casual_leave" id="casual_leave">
    </td>
    <td>
        <input type="text" style="background:none; border: none" name="sick_leave" id="sick_leave">
    </td>

    <td>
        <input type="submit" class="btn btn-success" name="submit" id="add_leave" value="ADD">

    </td>

</tr>
    </form>
    @endforeach

$admin= new Admin();
$admin->employee_name=$request->input('employee_name');
$admin->month=$request->input('month');
$admin->earned_leave=$request->input('earned_leave');
$admin->casual_leave=$request->input('casual_leave');
$admin->sick_leave=$request->input('sick_leave');

$admin->save();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...