当前位置: 首页 > 面试题库 >

Laravel在多个列上进行唯一验证

龙哲
2023-03-14
问题内容

我在表服务器中有2列。

我有专栏iphostname

我有验证:

'data.ip' => ['required', 'unique:servers,ip,'.$this->id]

这仅适用于列ip。但是如何做到这一点并适用于专栏hostname呢?

我想列验证data.ip iphostname。因为在用户写入ip时,ip和主机名列中可以重复。


问题答案:

您可以Rule::unique用来实现验证规则

$messages = [
    'data.ip.unique' = 'Given ip and hostname are not unique',
];

Validator::make($data, [
    'data.ip' => [
        'required',
        Rule::unique('servers')->where(function ($query) use($ip,$hostname) {
            return $query->where('ip', $ip)
            ->where('hostname', $hostname);
        }),
    ],
],
$messages
);


 类似资料:
  • 我使用而不是,当我验证为 我得到 SQLSTATE[42S22]:未找到列:1054“where子句”中的未知列“id”(SQL:选择count(*)作为来自

  • 问题内容: laravel 4文档提到了唯一的字段验证。他们在这里说明了如何在唯一验证中包含where子句。唯一表的单个WHERE子句,例如: http://laravel.com/docs/validation#rule-unique 现在,我假设这样做是这样的: 然后检查此查询是否返回结果,如果没有通过验证器。 所以我想知道是否有一种方法可以添加更多的where子句?如果是这样怎么办? 问题答

  • 我想使用多身份验证Laravel,但只有一个表"用户" 我如何实现这一点?

  • 本文向大家介绍laravel 表单验证实现多个字段组合后唯一,包括了laravel 表单验证实现多个字段组合后唯一的使用技巧和注意事项,需要的朋友参考一下 Laravel 表单验证器的几种使用方法 1、使用控制器的 validate 方法进行参数验证 2、手动创建验证器实例进行验证 使用默认的验证信息 使用自定义的验证信息 3、创建表单请求进行验证 创建表单请求文件:php artisan mak

  • 问题内容: 我想知道一种优雅的Pythonic方法,可以在Python 3 中并行 地遍历列表列表(或列表的字典)。列表数量要到运行时才知道,所以我相信我不能简单地将它们作为参数提供该功能。 例如,给定以下数据结构: 我希望能够在每次迭代中访问以下值: 其次是依次类推。 大概我可以直接使用列表索引或使用itertools.chain实现此目的,但是我正在寻找使用生成器或其他方法的更优雅的方法。 问

  • 问题内容: 我试图创建一个表,我需要它不允许3个字段相同的行。 当我使用SQLLite在Python中创建表时,使用了以下代码,但几乎没有得到任何结果。它通常在写入2条记录后停止,因此显然可以相信它是重复的。 因此,我希望数据库不允许在ownerID1,ownerID2,accountKey和argID1相同的记录。 谁能帮我这个忙吗? 谢谢! 问题答案: 我不确定是什么问题。它在这里工作正常: