我foreach($user->posts as $post)
在输入字段上使用,以便我能够使用它,value="{{ old('about') ?? $post->about }}"
因为如果没有迭代,我在使用该值时会收到错误(试图获取对象的属性)。但是,在尝试编辑时,我不知道我的 edit.blade 看起来像这样,我只需要一个输入字段来表示我正在尝试编辑的一篇特定帖子
编辑.blade.php
@extends('layouts.app')
@section('content')
<div class="container">
<form action="/p/update/{{ $user->id}}" enctype="multipart/form-data" method="POST">
@csrf
@method ('PATCH')
<div class="col-8 offset-2">
<div class="form-group row">
@foreach($user->posts as $post)
<label for="about" class="col-md-4 col-form-label text-md-right">{{ __(' post about') }}</label>
<div class="col-md-6">
<input id="about" type="text" class="form-control @error('about') is-invalid @enderror" name="about" value="{{ old('about') ?? $post->about }}" required autocomplete="about" autofocus>
@error('about')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
@endforeach
<label for="image" class="col-md-4 col-form-label text-md-right">{{ __(' post image') }}</label>
<input type="file", class="form-control-file" id ="image" name="image" >
@error('image')
<div class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong> </div>
@enderror
<div class="btn btn-primary">
<button> save </button>
</div>
</div>
</div>
</form>
</div>
@endsection
路线
Route::get('/post/edit/{user}', 'PostController@edit')->name('post.edit');
Route::patch('/p/update/{user}', 'PostController@update')->name('post.update');
后置控制器
public function edit(User $user)
{
return view('posts.edit', compact('user'));
}
public function update(User $user)
{
$data = request()->validate([
'about' => 'required',
'image' => '',
]);
宝慕林4294392