Почему, когда я добавляю данные в свою базу данных, они не сохраняют правильное время? - PullRequest
0 голосов
/ 04 октября 2019

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

Когда я добавляю данные события, даже если я выбираю другое время даты начала и окончания, он сохраняет время начала и время окончания. в 12 часов утра enter image description here

Когда я просматриваю детали, все верно, кроме времени. (прошу прощения за элемент ввода и формат времени, мне все равно придется его редактировать) enter image description here

как это выглядит в календаре enter image description here

Модель событий

class Event extends Model
{

    //
    protected $primaryKey = 'id';

    public function eventCategory()
    {
        return $this->belongsTo('App\EventCategory', 'evcat_id');
    }
    public function user()
    {
        return $this->belongsTo('App\User', 'user_id');
    }
    protected $fillable = [
        'event_name', 'event_desc', 'event_venue', 'event_status', 'event_start', 'event_finish', 'evcat_id', 'user_id',
    ];

    public $timestamps = false;

}

функция хранения в EventController

public function store(Request $request)
    {

        //

         $this->validate($request, [
            'event_name' => 'required|string|min:2|max:255',
            'daterange' => 'required',
        ]);
        $time_start = $request->input('start_time');

        $time_end = $request->input('end_time');

        $tempDate = $request->input('daterange');
        $temp2 = str_replace('-', null, $tempDate);
        $temp2 = str_replace('/', '-', $temp2);
        $temp3 = explode('  ', $temp2);

        $date1 = date_create_from_format('m-d-Y', $temp3[0]);
        $date2 = date_create_from_format('m-d-Y', $temp3[1]);

        $event = new event([
            'event_name' => $request->input('event_name'),
            'event_desc' => $request->input('event_desc'),
            'event_venue' => $request->input('event_venue'),
            'event_start' => date_format($date1, 'Y-m-d'),
            'event_finish' => date_format($date2, 'Y-m-d'),
            'event_venue' => $request->input('event_venue'),
            'evcat_id' => $request->input('evcat_id'),
            'user_id' => $request->input('user_id'),
        ]);

        $event->save();
        Session::flash('success', 'Event Created Successfully');
        return redirect()->route('event.sched');

    }

таблица миграции событий

    {
        Schema::create('events', function (Blueprint $table) {
            $table->increments('id');
            $table->string('event_name');
            $table->string('event_desc')->nullable();
            $table->string('event_venue')->nullable();

            //0 = Ongoing; 1 = Upcoming; 2 = Finished;
            $table->integer('event_status')->nullable();
            $table->dateTime('event_start');
            $table->dateTime('event_finish');

            $table->integer('evcat_id')->unsigned();
            $table->integer('user_id')->unsigned();
        });

        Schema::table('events', function($table) {
            $table->foreign('evcat_id')->references('id')->on('event_categories')->onDelete('cascade');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
        });

    }

блейд-файл event.blade.php Я использовал модальноедобавить данные

<div class="modal-header">
                <h4 class="modal-title"><strong>Add</strong> Event</h4>
                <!--<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>-->
            </div>
            <form method = "post" action = "{{ url('/sched/add') }}">
                {{ csrf_field() }}
                <div class="modal-body">
                    <div class="row">
                        <input type="hidden" id="user_id" name="user_id" value="{{ Auth::user()->id }}">
                        <div class="col-md-8">
                            <label class="control-label">Event Name</label>
                            <input class="form-control form-white" type="text" name="event_name" id = 'event_name' required/>
                        </div>
                    </div>

                    <div class="row">
                        <div class="col-md-8">
                            <label class="control-label">Description</label>
                            <input class="form-control form-white" type="text" name="event_desc" id = 'event_desc' required/>
                        </div>
                    </div>


                    <div class="row">
                        <div class="col-md-8">
                            <label class="control-label">Venue</label>
                            <input class="form-control form-white"  type="text" name="event_venue" id = 'event_venue' required/>
                        </div>
                    </div>


                    <div class="row">
                        <div class="col-md-8">
                            <label class="control-label">Start Date - End Date</label>
                            <input type="text" onclick = "getTime()" class="form-control input-daterange-timepicker" id = 'daterange' name="daterange" value="" />
                            <input type="hidden" id="start_time">
                            <input type="hidden" id="end_time">
                        </div>

                    </div>


                    <div class="row">
                    <div class="col-md-8">

                        <label class="control-label">Choose Event Category</label>
                        <select class="form-control form-white" data-placeholder="Choose a category..." name="evcat_id" id = "evcat_id">
                            @foreach($category as $cat)
                            <option value= '{{$cat->id}}'>{{$cat->ev_category_name}}</option>
                            @endforeach
                        </select>
                    </div>
                </div>

                <div class="modal-footer">
                    <button type="submit" class="btn btn-danger waves-effect waves-light save-category">Save</button>
                    <button type="button" class="btn btn-secondary waves-effect" data-dismiss="modal">Close</button>
                </div>

            </div>
        </div>

    </form>

1 Ответ

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

Мне кажется, что вы используете формат «mdY» и «Ymd», которые не включают заполнители времени. Таким образом, время всегда будет по умолчанию 00: 00: 00.

Чтобы включить время в форматирование даты, используйте 'H: i: s'

пример: 'Ymd H: i: s '

Подробнее о форматировании см. здесь: https://www.php.net/manual/en/function.date.php

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