【问题标题】:Predefined redundant values in view Laravel视图 Laravel 中预定义的冗余值
【发布时间】:2019-02-21 14:00:45
【问题描述】:

我这里有一个编辑用户权限的简单模式。我想首先显示所选用户的当前值,但似乎我的代码在重复时本质上是多余的。顺便说一下,这些值不在单独的表中。在这个视图中有没有更简单的方法来做到这一点?

<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>

【问题讨论】:

    标签: laravel laravel-5.7


    【解决方案1】:

    我建议使用 laravelcollective/html 包 (here)

    然后您将能够编写如下内容:

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

    其中 $usertypearray 是一个值 => 标签数组。例如:

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

    (我把值用小写,但检查它是否是服务器正在寻找的)

    【讨论】:

    • 我明白了,如何检查用户权限的当前值?很抱歉我还不熟悉这个表格。
    • @JustinF 看来您已经通过 $user->user_type 获得了价值。 Form::select 将完成剩下的工作!
    • 我会试试看,如果可以问一下,在我的情况下,$usertypearray 的值应该是什么?
    • 让我试试。我现在理解结构了。
    • 我让它工作并让代码更干净。做得很好。
    【解决方案2】:

    你可以像这样循环select标签

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

    希望这会有所帮助:)

    【讨论】:

    猜你喜欢
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-05
    • 2014-11-26
    • 2014-04-01
    • 1970-01-01
    相关资源
    最近更新 更多