Как получить значение массива в помощнике формы Laravel - PullRequest
0 голосов
/ 04 октября 2018

У меня есть массив $ subCatArray

$subCatArray = [
    'Category1' => [
        1 => 'product 1', 
        2 => 'product 2'
    ], 
    'Category2' => [
        4 => 'product 3', 
        5 => 'product 4'
    ]
]

, и выберите:

{!! Form::select('productselect', $subCatArray, null, 
    ['class' => 'form-control 'data-placeholder' => 'Select Product']) !!}

Я получаю это в моем HTML

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

Я хочу этобыть <option value="product 1">product 1</option>

Значением опции должно быть значение массива, а не ключ массива

Ответы [ 4 ]

0 голосов
/ 04 октября 2018

Извлечение массива для передачи для просмотра в раскрывающемся списке Это маршрут laravel

 Route::get('/calstack', function (){

    $subCatArray = array([
        'Category1' => [
            1 => 'This is oneof product',
            2 => 'this is product2'
        ],
        'Category2' => [
            4 => 'product 3',
            5 => 'product 4'
        ]
    ]);

    foreach($subCatArray as $sub){
      $catefoory =$sub['Category1'];
      $catefoory2 =$sub['Category2'];

    }

    $array_cat_value = array(
        'Categories1'=>$catefoory,
        'Categories2'=>$catefoory2

    );


   return view('welcome', $array_cat_value);



});

Это файл просмотра

<div class="container">
        <div class="content">
            <select>
                @foreach($Categories1 as $pro)

                    <option value="{{$pro}}"> {{$pro }} <br></option>

                @endforeach
            </select>
        </div>
    </div>
0 голосов
/ 04 октября 2018

Я не думаю, что есть способ с laravelcollective, если вы хотите сохранить структуру массива, вам нужно будет сделать выбор с html и внутри него цикл с foreach и напечатать значение два раза между тегом option и одним вЗначение атрибута.

0 голосов
/ 04 октября 2018

Получить значение массива, используя array_get

$subCatArray = [
        'Category1' => ['product1' => 'product 1', 'product2' => 'product 2'],
        'Category2' => ['product3' => 'product 3', 'product4' => 'product 4']
    ];


    $value = array_get($subCatArray, 'Category1.product1');

    return $value;
0 голосов
/ 04 октября 2018

В этом случае вы должны обновить свой массив, чтобы key и value были равны.Например:

$subCatArray = [
    'Category1' => [
        'product 1' => 'product 1', 
        'product 2' => 'product 2'
    ], 
    'Category2' => [
        'product 3' => 'product 3', 
        'product 4' => 'product 4'
    ]
]

Помощник по формам использует ключ массива в качестве значения опции и значение массива в качестве текста опции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...