Выбранное значение попадает из БД в выпадающий список выбора - PullRequest
0 голосов
/ 19 июня 2019

У меня есть форма сотрудника Редактировать. Моя проблема в том, что моя функция редактирования работает нормально, но я не могу получить значение типа моего сотрудника.

У меня есть 4 типа сотрудников:

  • Персонал
  • Супервайзер
  • Менеджер
  • Супер пользователь

Каждый раз, когда я иду на редактирование формы, тип сотрудника в раскрывающемся списке всегда зависит от персонала (я хочу отобразить, если сотрудник "Менеджер", то в раскрывающемся окне отображается Менеджер).

Это код для editroledetails.blade.php

<div class="form-group">
    <label for="editCustomerType">Customer Type</label><br/>
    <select name="editCustomerType">
        <option value="Staff">Staff</option>
        <option value="Supervisor">Supervisor</option>
        <option value="Manager">Manager</option>
        <option value="Super User">Super User</option>
    </select>
</div>

Функция контроллера

public function editroledetails(Request $request)
{
    $user = \Auth::user();
    $userphone = 0;
    $reportTo = DB::select(DB::raw("select username from customer_type where customer_type = 'Supervisor' or customer_type ='Manager' "));

    $select = DB::select(DB::raw("select customer_type from customer_type "));
    $data = [
        'editUsername' => $request->editUsername,
        'editNik' => $request->editNik,
        'editEmail' => $request->editEmail,
        'editRegIdentities' => $request->editRegIdentities,
        'editReportTo' => $request->editReportTo,
        'editID' => $request->editID
    ];
    return view('editroledetails', compact('user', 'userphone', 'data', 'reportTo', 'select'));
}

Ответы [ 3 ]

0 голосов
/ 19 июня 2019

Используйте атрибут selected в опциях выбора

<div class="form-group">
    <label for="editCustomerType">Customer Type</label><br/>
    <select name="editCustomerType">
        <option value="Staff" @if($user->customer_type == 'Staff')selected@endIf>Staff</option>
        <option value="Supervisor" @if($user->customer_type == 'Supervisor')selected@endIf>Supervisor</option>
        <option value="Manager" @if($user->customer_type == 'Manager')selected@endIf>Manager</option>
        <option value="Super User" @if($user->customer_type == 'Super User')selected@endIf>Super User</option>
    </select>
</div>
0 голосов
/ 19 июня 2019

Вы можете использовать это для отображения выбранного элемента в списке выбора

<?php
    $customerTypes = [
        'Staff' => 'Staff',
        'Supervisor' => 'Supervisor',
        'Manager' => 'Manager',
        'Super User' => 'Super User',
    ];
?>
<div class="form-group">
    <label for="editCustomerType">Customer Type</label><br/>
    <select name="editCustomerType">
        @foreach($customerTypes as $type)
            <?php
                $selected = "";
                @if($user->customer_type == $type) {
                    $selected = "selected";
                }
            ?>
            <option value="{{ $type }}" {{ $selected }} >{{ $type }}</option>
        @endforeach
    </select>
</div>
0 голосов
/ 19 июня 2019

Вы можете сделать что-то вроде этого:

<div class="form-group">
     <label for="editCustomerType">Customer Type</label><br/>
     <select name="editCustomerType">
           @if($user->customer_type == 'Staff')
              <option value="Staff">Staff</option>
           @endif
           @if($user->customer_type == 'Supervisor')
               <option value="Supervisor">Supervisor</option>
           @endif
           @if($user->customer_type == 'Manager')
               <option value="Manager">Manager</option>
            @endif
            @if($user->customer_type == 'Super User')
               <option value="Super User">Super User</option>
            @endif
     </select>
 </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...