Laravel 5 Неопределенное смещение: 1 - PullRequest
0 голосов
/ 11 мая 2018

В моем файле лезвия laravel у меня есть поле множественного выбора, и значения поступают из базы данных / контроллера. Ниже приведены значения:

[{"id": 1, "name": "United States"}, {"id": 2, "name": "United Королевство "}, {" ID ": 3," имя ":" Китай "}]

Я хотел показать значения в окне множественного выбора, а также уже выбранные пользователем значения (которые поступают из контроллера в другой переменной), см. Ниже;

[{"id": 2, "name": "United Kingdom"}]

Ниже приведен код для поля множественного выбора:

<select multiple="multiple" name="warehouseId[]" id="warehouse" class="form-control" style="width:100%;" required>
    @if($warehouseData)
        @foreach ($warehouseData as $key => $warehouse)
            <option value="{{$warehouse->id}}" @if($adminUserWarehouseSelectedData[$key]->name == $warehouse->name) Selected @endif>{{$warehouse->name}}</option>
        @endforeach
    @endif
</select>

Но это закончилось ошибкой -

Неопределенное смещение: 1

1 Ответ

0 голосов
/ 11 мая 2018

Попробуйте этот код

<select multiple="multiple" name="warehouseId[]" id="warehouse" class="form-control" style="width:100%;" required>
    @if($warehouseData)
        @foreach ($warehouseData as $warehouse)
            <option value="{{$warehouse->id}}"   @foreach($adminUserWarehouseSelectedData as $data) @if($data->name == $warehouse->name) Selected @endif @endforeach>{{$warehouse->name}}</option>
        @endforeach
    @endif
</select>

Произошла ошибка, потому что $adminUserWarehouseSelectedData эта переменная содержит несколько данных, и мы пытались принять их как отдельные данные. Таким образом, вы должны сделать цикл foreach для этого.

...