【发布时间】:2020-11-28 05:43:30
【问题描述】:
这是 http/request 中的 PostsRequest.php:
<?php
namespace App\Http\Requests;
use App\Post;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class PostsRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'title' => ['required','max:255', Rule::unique('posts')->ignore($this->id)],
'slug' => ['required', Rule::unique('posts')->ignore($this->id),],
'content' => 'required',
'type' => 'required|in:blog,download,page',
'status' => 'required',
];
}
}
这是 PostController.php 中的 edit() 方法
public function update(PostsRequest $request, $id)
{
$validated = $request->validated();
$validated['user_id'] = auth()->user()->id;
$post = Post::find($id)->fill($validated);
$post->save();
return redirect()->action('PostController@index');
}
问题: 在更新页面中显示该值已存在的错误。
谁来解决编辑表单中唯一字段的问题?
【问题讨论】:
-
很抱歉,您写的内容很难看懂!请重写所有内容,以更清楚地了解您要做什么以及遇到什么问题,提供错误消息以及所有涉及问题的代码!谢谢!
标签: laravel laravel-7 laravel-validation laravel-request