php – 验证Laravel更新中的独特插件5

我目前有一个模型,它有一个文本字段和一个字段.

我验证了我的表单请求类中的slug是唯一的:

public function rules()
{
    return [
        'name' => 'required|min:3','slug' => 'required|alpha_dash|unique:questions'
    ];
}

这在创建时工作正常,并正确地拒绝创建重复的s..但是在我的更新方法中,它不会让我保存一个记录,因为slug已经存在.当然,这个s子确实存在,但它存在于被编辑的记录上,所以我想继续允许它被保存.然而,它不应该被改变为另一个记录的s..

这是我更新ArticlesController方法的样子:

public function update(Article $article,ArticleRequest $request)
{
    $article->update($request->all());

    return redirect('articles');
}

有没有办法使这项工作在L5?

unique rule中,您可以指定要忽略的ID.

您可以创建2个单独的请求(一个用于创建,一个用于更新),但是您也可以通过这种方式来检查是否设置了(我认为您的更新url看起来像/ questions / 2):

public function rules()
{
    $rules = [
        'name' => 'required|min:3','slug' => ['required','alpha_dash']
    ];

    $rule = 'unique:questions';

    $segments = $this->segments();
    $id = intval(end($segments));
    if ($id != 0) {  
         $rule .= ',slug,' . $id;
    }
    $rules['slug'][] = $rule;

    return $rules;
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


如何利用Laravel实现数据缓存功能
Laravel权限功能的实战应用:如何实现用户组织架构权限控制
如何在Laravel中实现基于权限的多语言支持
掌握Laravel控制台命令,利用参数传递的力量
如何利用Laravel实现数据分页和搜索功能
如何在Laravel中使用中间件进行日志记录
如何在Laravel中使用中间件进行数据迁移
如何在Laravel中使用中间件进行数据统计
如何利用Laravel实现邮件发送和接收功能
如何在Laravel中使用中间件进行数据导出
Laravel权限功能详解:如何定义和管理用户角色
如何在Laravel中使用中间件进行用户反馈
如何使用Laravel开发一个基于微信公众号的在线点餐系统
Laravel权限功能的可靠性保证:如何实现权限的冗余备份和恢复
Laravel权限功能的进阶应用:如何实现权限的可视化管理和配置
如何在Laravel中使用中间件进行数据加密传输
Laravel权限功能的最佳实践:如何实现权限缓存和性能优化
如何在Laravel中使用中间件进行API认证
如何在Laravel中使用中间件进行数据加速
如何利用Laravel实现数据验证和过滤功能