Предопределенные избыточные значения в представлении Laravel - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть простой модал, который редактирует пользовательские привилегии.Сначала я хочу показать текущее значение выбранного пользователя, но кажется, что мой код является избыточным по своей природе, поскольку повторяется.Эти значения не в отдельной таблице, кстати.Есть ли более простой способ сделать это в этом представлении?

<div class="form-group col-md-4">
    <label for="user_type">Privilege</label>
    <select name="user_type" class="form-control" id="">
        <?php $user_type = $user->user_type ?>
        @if ($user_type == 'Admin')
        <option value="Admin" selected>Admin</option>
        <option value="Facilitator">Facilitator</option>
        <option value="TeamLeader">TeamLeader</option>
        <option value="ScrumLeader">ScrumLeader</option>
        <option value="Member">Member</option>
        @elseif ($user_type == 'Facilitator')
        <option value="Admin">Admin</option>
        <option value="Facilitator" selected>Facilitator</option>
        <option value="TeamLeader">TeamLeader</option>
        <option value="ScrumLeader">ScrumLeader</option>
        <option value="Member">Member</option>
        @elseif ($user_type == 'TeamLeader')
        <option value="Admin">Admi   n</option>
        <option value="Facilitator">Facilitator</option>
        <option value="TeamLeader" selected>TeamLeader</option>
        <option value="ScrumLeader">ScrumLeader</option>
        <option value="Member">Member</option>
        @elseif ($user_type == 'ScrumLeader')
        <option value="Admin">Admin</option>
        <option value="Facilitator">Facilitator</option>
        <option value="TeamLeader">TeamLeader</option>
        <option value="ScrumLeader" selected>ScrumLeader</option>
        <option value="Member">Member</option>
        @else
        <option value="Admin">Admin</option>
        <option value="Facilitator">Facilitator</option>
        <option value="TeamLeader">TeamLeader</option>
        <option value="ScrumLeader">ScrumLeader</option>
        <option value="Member" selected>Member</option>
        @endif
    </select>
</div>

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Вы можете зацикливаться на теге select следующим образом

  {{ Form::select('user_type',$user_type ,old('user_type'),['class' => 'form-control']) }}

Надеюсь, это поможет:)

0 голосов
/ 21 февраля 2019

Я бы предложил использовать пакет laravelcollective / html ( здесь )

После этого вы сможете написать что-то вроде:

{{Form::select('user_type', $usertypearray, $user->user_type, ['class' => 'form-control']) }}

Где $ usertypearray - массив значений => метки.Например:

$usertypearray = ['admin'=> 'Admin', 'facilitator'=> 'Facilitator', 'teamleader'=> 'TeamLeader', 'scrumleader'=> 'ScrumLeader','member'=>'Member'];

(я помещаю значения в нижний регистр, но проверяю, ищет ли это сервер)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...