CRUD с датой (создать и прочитать) - PullRequest
0 голосов
/ 12 ноября 2018

Я хотел бы создать CRUD с 2 полями, которые являются именем и датой. В моем контроллере, я полагаю, мой магазин функций не очень хорош в отношении даты?

public function create()
    {
        return view('student.create');

    }

    public function store(Request $request)
    {

        $request->validate([
                'name' => 'required',
                'date' => 'required'
        ]);
        Student::create($request->all());
        return redirect()->route('student.index')
                    ->with('success', 'save');


    }

Вот мой файл create.blade.php

<form class="panel-body" action="{{route('student.store')}}" method="POST">
              @csrf
              <fieldset class="form-group">
                <label for="form-group-input-1">Name</label>
                <input type="text" name="name" class="form-control" id="form-group-input-1">
              </fieldset>
              <fieldset class="form-group">
                <label for="form-group-input-1">Date</label>
                <input type="text" name="date" class="form-control" id="form-group-input-1" >
              </fieldset>

              <a href="{{route('student.index')}}" class="btn btn-primary pull-right">Back</a>
              <button type="submit" class="btn btn-sm btn-primary">Submit</button>

            </form>

И index.blade.php

<table class="table">
              <a class="btn btn-sm btn-success" href="{{ route('student.create') }}">Create</a>
              <thead>
                <tr>
                  <th>Firstname</th>
                  <th>Date</th>
                </tr>
                </thead>
                @foreach($students as $student)
                <tr>
                   <td> {{$student->name}}</td>
                   <td> {{$student->date}} </td>
                   <td>
                     <form method="POST" action="{{ route('student.destroy', $student) }} ">
                    <a class="btn btn-sm btn-warning" href="{{route('student.edit',$student->id)}}">Edit</a>
                    @csrf
                    @method('DELETE')
                    <button type="submit" class="btn btn-sm btn-danger">Delete</button>
                    </form>
                    </td>
                </tr>
                @endforeach
            </table>

Как сделать так, чтобы поле create from "date" было правильным?

1 Ответ

0 голосов
/ 12 ноября 2018

Вот что я сделал, надеюсь, это поможет:

В миграции мой столбец имеет тип datetime

$table->dateTime('maintenance')->nullable();

Правила запроса:

'maintenance' => 'required|date_format:d-m-Y'

Запросить сообщение:

'maintenance.date_format' => ' Invalid date time ex: 01-07-2020'

Я мой контроллер при создании функции

'maintenance'  =>  date("Y-m-d H:i:s", strtotime($request->maintenance))

И введите также:

<input type="text" name="maintenance" value="{{ date("d-m-Y", old('maintenance') ) }}" />

Мне нужно прочитать время в формате d-m-Y. Так что добавьте мутатор в модель

protected $appends = ['maintenance_formated'];
//---
public function getMaintenanceFormatedAttribute()
{
    return date("d-m-Y", strtotime($this->maintenance));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...