簡體   English   中英

Laravel 5.3表單生成器在選擇選項上動態分配“值”

[英]Laravel 5.3 Form Builder Assign 'value' Dynamically on Select Options

如何在視圖中動態分配Laravel Form Builder Select Options上的“值”?

例:

功能

public function create()
{
    $categories = \DB::table('categories')->pluck('name', 'id');
    return view('link.create')->with('categories', $categories);
}

視圖

<div class="form-group">
    {!! Form::label('Link Category') !!}<br />
    {!! Form::select('category', 
        (['0' => 'Select a Category'] + $categories), 
            null, 
            ['class' => 'form-control']) !!}
</div>

結果

<select name="category" class="form-control">
    <option value="0">Select a Category</option>
    <option value="1">Laravel</option>
    <option value="2">Zend Framework</option>
    <option value="3">CakePHP</option>
    <option value="4">PHP</option>
</select>

我希望“選擇選項”的“值”與“選項內容”相同。

喜歡:

    <option value="1">Laravel</option>

應該是這樣的:

    <option value="Laravel">Laravel</option>

如果僅選擇name ,則可以執行以下操作:

public function create()
{
    $categories = \DB::table('categories')->pluck('name');
    // creates ['Laravel' => 'Laravel', 'PHP' => 'PHP'...]
    $categories = array_combine($categories, $categories);
    return view('link.create')->with('categories', $categories);
}

您可以只為鍵和值取name

public function create()
{
    $categories = \DB::table('categories')->pluck('name', 'name');

    // Combine your default item
    $categories = ['0' => 'Select a Category'] + collect($categories)->toArray();

    return view('link.create')->with('categories', $categories);
}

您的視圖修改如下

<div class="form-group">
     {!! Form::label('Link Category') !!}<br />
     {!! Form::select('category', $categories, null, ['class' => 'form-control']) !!}
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM