Отображение месяца и его номера в выпадающем списке - laravel - PullRequest
0 голосов
/ 04 мая 2018

Я новичок в Laravel, и я искал, как отобразить названия месяца в поле выбора, как показано ниже

  01-Januray
  02-February
  03-March

Как мне этого добиться, пожалуйста?

<div class="col-xl-4 col-lg-12 col-md-12">
    <fieldset class="form-group">
        <label for="placeTextarea">Expiration Month</label>
        <select  class="form-control" id="month" name="month" mulitple>
            <option> Select Month </option>
            @foreach($getMonth as $month)
                <option>
                    {!! $month!!}
                </option>
            @endforeach
        </select>                              
    </fieldset>
</div>

контроллер

public function create()
    {
        $getMonth = date('M', mktime(0,0,0,$m));
        return view('create', compact('getMonth'));
    }
}

Ответы [ 4 ]

0 голосов
/ 25 сентября 2018

Вы можете использовать это

{!! Form::selectMonth('month',null,['class' => 'form-control']) !!}

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

'' Чтобы получить месяцы в массиве, таком как это:

"01-January"
"02-February"
"03-March"
"04-April"
"05-May"
"06-June"
"07-July"
"08-August"
"09-September"
"10-October"
"11-November"
"12-December"

Вы можете использовать этот пример контроллера:

<?php

namespace App\Http\Controllers;

use Carbon\Carbon;
use DateTime;
use Generator;
use Illuminate\Http\Request;

class Example extends Controller
{
    public function create()
    {
        return view('create', ['months' => iterator_to_array($this->getMonths())]);
    }

    protected function getMonths(): Generator {
        foreach (range(1, Carbon::MONTHS_PER_YEAR) as $month) {

            $human = DateTime::createFromFormat('!m', $month)->format('F'); // https://stackoverflow.com/a/18467892/6056864

            yield str_pad($month, 2, 0, STR_PAD_LEFT) .'-'. $human;
        }
    }
}
0 голосов
/ 04 мая 2018

самое простое решение - изменить эту строку

$getMonth = date('M', mktime(0,0,0,$m));

до

$getMonth = [];
foreach (range(1, 12) as $m) {
    $getMonth[] = date('m - F', mktime(0, 0, 0, $m, 1));
}

Документация по функциям PHP date

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

Получить название месяца и преобразовать его в строку, а затем преобразовать обратно в формат даты, используя m в качестве номера месяца с ведущими нулями, используя функцию date().

{{ $month_num = date('m', strtotime($month)) }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...