Как заставить раскрывающийся список возвращать текстовое значение вместо значения индекса

В настоящее время я работаю над раскрывающимся списком в моей форме, и он возвращает значение индекса, например. 0,1,2, когда поле выбрано. Мне нужно, чтобы он вернул буквальный текст в поле, например. «Сервер один», «Сервер два». Я работаю с коллективными формами laravel. прилагается фрагмент кода для формы. Любая помощь приветствуется! Переменная $ status - это список всех серверов в базе данных.

@extends('layouts.app')

@section('content')
    <h1></h1>
    <h1>Edit Incident</h1>

    {!! Form::open(['action' => ['IncidentsController@update', $incident->id], 'method' =>'POST']) !!}
        <div class = "form-group">
            {{Form::label('title','Title')}}
            {{Form::text('title',$incident->title,['class' => 'form-control', 'placeholder' => 'Title'])}}
            {{Form::label('body','Body')}}
            {{Form::textarea('body',$incident->body,['id' => 'article-ckeditor','class' => 'form-control', 'placeholder' => 'Body text'])}}
            {{Form::label('status','Server Status:')}}
            <br>
            {{Form::label('status','Resolved:')}}
            {{Form::radio('status', 'Resolved' , false) }}
            <br>
            {{Form::label('status','Unresolved:')}}
            {{Form::radio('status', 'Unresolved' , true) }}
            <br>
            {{ Form::label('server', 'Server:') }}
            <br/>
            {{Form::select('server', $statuses),['name' => "server",'class' => 'form-control']}}

        </div>
        {{Form::hidden('_method', 'PUT')}}
        {{Form::submit('Submit', ['class' => 'btn btn-primary'])}}
    {!! Form::close() !!}
    dd($server)
@endsection

createIncident:

public function createIncident(){
        $statuses = Status::pluck('server');
        dd($statuses);
        return view('createIncident', ['statuses' => $statuses]);
}

результат dd ($ статусы)

Я не знаю о laravel, но я предполагаю, что он использует ключи массива в качестве значений для параметров? Возможно, решит эту проблему использование имени серверов в качестве ключей массива $statuses?

frz3993 18.05.2018 19:59

Если вы хотите продолжать использовать Form::, вам необходимо предоставить $statuses = ['server one' => 'server one'];

Kyslik 18.05.2018 20:11

@Kyslik, должен ли я делать это для каждого сервера? Причина запроса в том, что со временем будет добавлено много серверов.

user7260078 18.05.2018 20:25

Вам нужно написать код, который генерирует массив.

Kyslik 18.05.2018 20:25

$ statuses - это массив, я обновлю вопрос кодом из вызова метода, а также результатом die и dump

user7260078 18.05.2018 20:28

Вы хотите, чтобы это было только для этого поля выбора? также поясните, почему вам нужен буквальный текст, а не значение coz в базе данных, вы сохраняете числовые идентификаторы только после отправки данной формы, вы всегда можете просмотреть текстовое значение данного идентификатора из своей базы данных.

Vinay 20.05.2018 06:56

@Viney Мне это нужно только для этого поля выбора, мне также нужен буквально текст, потому что в одном из моих представлений у меня есть объекты «статус», а также «инциденты», и я сравниваю, если инцидент-> сервер === status-> server затем отобразит некоторую информацию.

user7260078 21.05.2018 13:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

закончилось тем, что я изменил способ отображения и хранения самой формы и использовал теги select, чтобы исправить это.

   <select name = "server">
       @foreach($statuses as $key => $value)
           <option>{{$value}}</option>
       @endforeach
   </select>
<option> не имеет атрибута значения?
Vinay 21.05.2018 16:10

В этом нет необходимости, я не знаю точной причины, но я предполагаю, потому что, когда я сделал $ key => $ value, он автоматически сохраняет значение $ как атрибут value. как ни странно, если я добавил атрибут значения, он фактически сломал его.

user7260078 21.05.2018 19:36

Другие вопросы по теме