【问题标题】:Menu Drop-Down using MySQL enum in Laravel在 Laravel 中使用 MySQL 枚举的菜单下拉菜单
【发布时间】:2019-01-01 23:47:56
【问题描述】:

我想在 laravel 中简化我的下拉菜单,任何建议都是开放的 :)

这是我的迁移代码:

Schema::create('profile', function (Blueprint $table) {
        $table->uuid('id')->primary();
        $table->enum('hobby', ['Reading','Swimming','Other'])->default('Reading');

这是我创建下拉菜单的视图代码 (create.blade.php)

    <div class='form-group col-md-6'>
    <label class='control-label'>Hobby <span class="text-danger"></span></label>
    <select class='form-control select2' name='hobby'>
    <option value="Reading" selected="">Reading</option>
    <option value="Swimming" selected="">Swimming</option>
    <option value="Other" selected="">Other</option>

到目前为止,这段代码工作正常,但如果我使用@foreach 使其更简单,是否有可能?如何?或任何其他建议?

【问题讨论】:

    标签: php mysql laravel enums


    【解决方案1】:

    在控制器的创建方法中获取所有可能的爱好并将它们传递给视图:

    $hobies = ['Reading','Swimming','Other'];
    return view('create', compact('hobies'));
    

    在视图中:

     <div class='form-group col-md-6'>
        <label class='control-label'>Hobby <span class="text-danger"></span></label>
        <select class='form-control select2' name='hobby'>
            @foreach ($hobies as $hoby)
                <option value="{{$hoby}}" selected="">{{$hoby}}</option>
            @endforeach
    

    【讨论】:

    • 乐于助人:)
    • 我也为编辑功能制作了数组,但数据没有根据以前的数据显示:这是我的编辑功能代码:@foreach($hobies as $hobby) {{$hobby}} @endforeach
    • 我只是添加了这个 {{ old('hobby', $profile->hobby) 所以完整的代码是这样的 @foreach($hobies as $hobby) @endforeach
    • 我还在控制器的编辑功能中添加了数组代码
    猜你喜欢
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多