php - 如果 id 相同,Laravel 验证唯一性

标签 php mysql validation laravel

我有一个表/模型,每个用户包含多个相册。 有没有办法说 title 列应该是唯一的,但仅适用于具有相同 user_id 的行?

示例:http://pastebin.com/8dvM4a1T

在示例中可以看到,id 为 2 的用户创建了 2 个相册,标题相同。我不希望它被允许,这就是为什么我想知道是否有办法用 Laravel 的验证器来拒绝它?

我试过了,但是没用。

// Validator
    $validator = Validator::make($input, [
        'title' => 'required|min:1|max:255|unique:galleries,title,'. Auth::user() -> id .',user_id',
        'description' => 'min:1|max:255'
    ]);

感谢任何帮助,谢谢。

最佳答案

你的代码应该是这样的:

'title' => 'unique:galleries,title,NULL,id,user_id,'.Auth::user() -> id.'',

或者,您可以编写自定义规则 Reference here

关于php - 如果 id 相同,Laravel 验证唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36574583/

相关文章:

php - 在WHERE子句中使用PHP变量更新数据库

php - 如果 mysql 数据库中存在,则不提交表单

php - SQL 按随机顺序选择但不要从特定列中选择重复项

mysql - SQL查询问题

javascript - 如何解决客户端验证问题?

php - 使用 PDO 防止 SQL 注入(inject)

php - Zend 框架与 Kohana PHP 3

Java - 当取消或按下 'x' 时,我的 JOptionPane 不会关闭

c# - 如何在 C# 中添加不区分大小写的表单字段验证?

javascript - PHP 顺序执行 ajax 调用