POST-запрос не соответствует форме в Laravel Blade - PullRequest
0 голосов
/ 12 апреля 2020

Я новичок ie в Laravel.

Моя проблема в том, что когда я пытался обновить свою форму, он продолжал говорить, что имя таблицы не найдено, хотя я уже упомянул его в своей модели. Но когда я отладил, я обнаружил, что запрос не совпадает с тем, что я положил в мою форму.

Here is what I got from the dump.

Но моя форма на самом деле не имейте это.

Есть идеи, как это происходит, ребята? Я уверен, что что-то пропустил, но не уверен, что это такое.

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

class Event extends Model
{
//
protected $fillable = ['title', 'objective', 'date', 'venue', 'description', 'slug'];

public function getRouteKeyName()
{
    return 'slug';
}
}

Контроллер событий

class EventController extends Controller
{
  public function update(Request $request, Event $event)
{
   //
   $validated = $request->validate([
        'title' => 'required|string|unique:event|min:5|max:100',
        'objective' => 'required|string|min:5|max:2000',
        'date' => 'required|string|min:5|max:2000',
        'venue' => 'required|string|min:5|max:2000',
        'description' => 'required|string|min:5|max:2000'
    ]);

    // Create slug from title
    $validated['slug'] = Str::slug($validated['title'], '-');

    // Update Post with validated data
    $event->update($validated);

    // Redirect the user to the created post woth an updated notification
    return redirect(route('events.edit', [$event->slug]))->with('notification', 'Event updated!');

}

Редактировать страницу лезвия

<form method="post" action="{{ route('events.update', [$event->slug]) }}">

                    @csrf
                    @method('patch')
                    @include('partials.errors')

                    <div class="field">
                        <label class="label">Title</label>
                        <div class="control">
                            <input type="text" name="title" value="{{ $event->title }}" class="input" placeholder="Title" minlength="5" maxlength="100" required />
                        </div>
                    </div>

                    <div class="field">
                        <label class="label">Objective</label>
                        <div class="control">
                            <textarea name="content" class="textarea" placeholder="Content" minlength="5" maxlength="2000" required rows="10">{{ $event->objective }}</textarea>
                        </div>
                    </div>

                    <div class="field">
                        <label class="label">Date</label>
                        <div class="control">
                            <input type="text" name="title" value="{{ $event->date }}" class="input" placeholder="Title" minlength="5" maxlength="100" required />
                        </div>
                    </div>

                    <div class="field">
                        <label class="label">Venue</label>
                        <div class="control">
                            <input type="text" name="title" value="{{ $event->venue }}" class="input" placeholder="Title" minlength="5" maxlength="100" required />
                        </div>
                    </div>

                    <div class="field">
                        <label class="label">Description</label>
                        <div class="control">
                            <textarea name="content" class="textarea" placeholder="Content" minlength="5" maxlength="2000" required rows="10">{{ $event->description }}</textarea>
                        </div>
                    </div>



                    <div class="field">
                        <div class="control">
                            <button type="submit" class="button is-link is-outlined">Update</button>
                        </div>
                    </div>

                </form>

Спасибо за ваше время!

Ответы [ 2 ]

0 голосов
/ 12 апреля 2020

На вашей странице редактирования лезвия имена входов чередуются с названием и содержимым

Вы можете переименовать имена входов, чтобы они могли быть уникальными

0 голосов
/ 12 апреля 2020

Вам необходимо изменить атрибут name Дата, Место и Описание и Цель.

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