php - Laravel 中每个用户的唯一数据库条目

标签 php mysql database laravel laravel-validation

我想以这种方式验证我创建的类别:

用户1可以创建类别“代码”

用户1无法创建另一个类别“代码”

用户2可以创建类别“代码”

用户2无法创建另一个类别“代码”

我正在尝试将其写入我的 Controller 验证器中,但我似乎无法让它工作。

这是我的验证规则:

'title' => 'required|max:100|unique:categories,title,user_id'

任何帮助将不胜感激!谢谢!

最佳答案

您可以创建自己的自定义验证规则。运行命令:

php artisan make:rule UserCodePostLimit

在生成的类中,您将能够拥有自定义逻辑:

public function passes($attribute, $value)
{
    return Category::whereUserId($value)->count() !== 0
}

这样您就可以在验证规则中注册它:

'title' => ['required', 'max:100', new UserCodePostLimit]

所有更多信息可以在文档中找到:https://laravel.com/docs/5.6/validation#custom-validation-rules

关于php - Laravel 中每个用户的唯一数据库条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49947354/

相关文章:

php - 如何将 PDF 转换为文本以便我可以使用 PHP 解析该文本?

php mysqli 按变量搜索不工作?

mysql - SQL:如何获取仅包含某些 ID 的行?

java - Android 将许可证验证卸载到受信任的服务器

php - 如何显示同一个id的多条记录?

PHP preg_match_all 导致 Apache 段错误

android - 带有 MySQL 数据的 AutoCompleteTextView

Java - 小程序异常

database - 如果日期存储为文本,MYSQL 可以按日期过滤吗?例如 "02/10/1984"

database - 寻找示例 Visual Studio 2010 数据库项目