Что лучше всего для более чем 100 данных Выберите поле поля

machagr спросил: 28 марта 2018 в 04:15 в: laravel

Я beiginer. теперь я понимаю, как сделать поле выбора. например ниже. Я хотел бы сделать другое поле поля выбора, которое является продуктом name.its около 100 продукта очень долго. Что такое Smart и лучший способ добавить много данных в index.blade.php? Я хотел бы, чтобы он был в независимом файле.

index.blade.php

@extends('layouts.app')@section('content')
  <div class="form-group{{ $errors->has('age') ? ' has-error' : '' }}">     <p>Age</p>     {{ Form::select('age', ['Under 18', '19 to 30', 'Over 30']) }}          <div class="col-sm-10">                                
             @if ($errors->has('age'))
                 <span class="help-block">
                      <strong>{{ $errors->first('age') }}</strong>
                 </span>
             @endif
          </div>
@endsection

это пример списка

a1234
b1254
c546
d6467
e8952
f84664
g45646
h46546
.
.
.

2 ответа

Есть решение
Renato Gomes ответил: 28 марта 2018 в 08:02

Я бы создал в нем еще один блейд, такой как select_products.blade.php, у вас может быть что-то вроде:

{{ Form::select('products', $productsArray) }}

Вы можете использовать pluck метод, чтобы получить массив в правильном формате. Как это:

$productsArray = ProductModel::all()->pluck('name', 'id)->all();

В идеале это нужно сделать перед отправкой данных в представление (вероятно, в вашем контроллере)

И вы могли бы использовать директиву Blade @include для вызова select_products.blade.php

  • Подробнее о сборщике
  • Подробнее о включении Blade

Надеюсь, это поможет, o /


Вы также можете использовать что-то вроде select2 для лучшего UX, учитывая множество продуктов

machagr ответил: 29 марта 2018 в 08:24
Большое спасибо Ренато Гомес. это был потрясающий ответ !! Мне очень понравился select2. Спасибо! вы сделали мой день!
Renato Gomes ответил: 15 апреля 2018 в 01:33
приятно быть полезным @machagr. Подтвердите мой ответ, если можете: D
Sand Of Vega Mahdi Younesi ответил: 28 марта 2018 в 04:24

используйте @foreach в Blade

<select name="product">
    @foreach($products as $product)       <option value="{{$option->id}}">{{$option->name}}</option>    @endforeach
</select>
machagr ответил: 28 марта 2018 в 05:45
Спасибо @Mahdi Younesi, я вижу foreach! теперь у меня есть другой вопрос. Я добавляю список продуктов выше. Не могли бы вы сказать мне, как написать выше список продуктов, где? какое имя файла? этот блейд-файл является дочерним. так еще один дочерний файл может остаться в этом файле