РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppinPmRcEd 34 of 41 menu
◀ ▶

Редактирование записи в Inertia

Пусть у записи уже есть текст, и его нужно поменять, а не писать заново. Пустая форма заставляет копировать старый заголовок и тело вручную.

Страница правки получает запись с сервера и ставит текст в поля атрибутом defaultValue. Форма уходит методом put, модель обновляет строку, а контроллер возвращает человека на экран этой записи.

Давайте разрешим запись заголовка и текста в модели:

<?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Post extends Model { protected $fillable = [ 'title', 'body', ]; } ?>

Давайте опишем просмотр, форму правки и сохранение изменений:

<?php use App\Models\Post; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/posts/{post}', function (Post $post) { return Inertia::render('Posts/Show', [ 'title' => $post->title, 'body' => $post->body, ]); }); Route::get('/posts/{post}/edit', function (Post $post) { return Inertia::render('Posts/Edit', [ 'post' => [ 'id' => $post->id, 'title' => $post->title, 'body' => $post->body, ], ]); }); Route::put('/posts/{post}', function ( Request $request, Post $post, ) { $post->update([ 'title' => $request->string('title'), 'body' => $request->string('body'), ]); return redirect('/posts/'.$post->id); }); ?>

Давайте выведем заголовок и текст на экране записи:

<script setup> defineProps({ title: String, body: String, }) </script> <template> <h1>{{ title }}</h1> <p>{{ body }}</p> </template>

Давайте откроем форму с полями заголовка и текста:

<script setup> import { Form } from '@inertiajs/vue3' defineProps({ post: Object, }) </script> <template> <Form :action="'/posts/' + post.id" method="put" > <input type="text" name="title" :defaultValue="post.title" /> <textarea name="body" :defaultValue="post.body" ></textarea> <button type="submit">Save</button> </Form> </template>

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

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить