当我尝试更新帖子时,如果我不更改 slug 的值,laravel 会返回此错误:蛞蝓已经被拿走了。这是我的验证:$this->validate($request, [ 'name' => 'required', 'content' => 'required', 'excerpt' => 'required', 'type' => 'required', 'slug' => 'required | unique:providers']);
3 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
当您更新记录并添加唯一验证时。您应该传递要插入的记录的id。
更新时
'slug' => 'required | unique:providers,slug,'.$providerId
插入时
'slug' => 'required | unique:providers'
浮云间
TA贡献1829条经验 获得超4个赞
您需要告诉验证器对您正在更新的当前实体进行异常处理。
$this->validate($request, [
'name' => 'required',
'content' => 'required',
'excerpt' => 'required',
'type' => 'required',
'slug' => 'required|unique:providers,slug,'.$providerId
]);
慕村9548890
TA贡献1884条经验 获得超4个赞
添加时:
use Illuminate\Support\Str;
.
.
$slug = Str::slug($request->name, '-');
$exists = Provider::where('slug', $slug)->first();
if($exists) {
$slug = $slug.'-'.rand(1000,9999);
}
更新时:
$request->validate([
'slug' => 'required|unique:providers,slug,'.$provider_id.',id',
]);
- 3 回答
- 0 关注
- 155 浏览
添加回答
举报
0/150
提交
取消