您好,我正在try 进行验证,以判断插入的值是否存在于其他表中.这是我现在所做的代码:

$request->validate([
            'order_number' => 'required',
            'client_id' => 'required,exists:clients',
            'description' => 'required',
        ]);

这些值被插入到名为order的表中,但从另一个名为clients的表中获取了客户端ID,我想验证表clients的行id中是否存在值client_id

推荐答案

请在这里勾选 Laravel Validation

正如在laravel文档中提到的,您需要指定一个列名,因为如果您不这样做,它将使用列名请求中的键,因此在您的示例中,它将是clients表和client_id列,但您需要在EXISTS规则中指定列名,如下所示:

$request->validate([
            'order_number' => 'required',
            'client_id' => 'required|exists:clients,id',
            'description' => 'required',
        ]);

此外,您使用了错误的语法来分隔规则,在required之后,您需要使用管道(|)来分隔您的规则并使用多个验证.

Laravel相关问答推荐

发送邮箱后,Laravel重定向偶尔会导致错误500

使用MAATWebSite/EXCEL导入Exel时,不会创建Laravel模型

Laravel 数据未传递到下拉框

未找到 apiResource 404 中的变量

Laravel - 如果值包含某个字符串(取自搜索输入),则查询模型

Carbon(laravel)处理无效日期

PHP Laravel:如何设置或获取会话数据?

Laravel Input:all() 忽略禁用的输入

这个上下文的流程应该是怎样的? (根据 Select 的付款方式,将处理付款的代码放在哪里?)

删除表后如何重新迁移laravel迁移

Laravel 应用程序中应用程序键的意义是什么?

laravel 搜索多个以空格分隔的单词

Laravel:命令未找到

如何重定向到laravel上的公共文件夹

命令未定义异常

改变模式生成器中的列长度?

Laravel 隐藏属性.例如密码 - 安全

遍历 Laravel 控制器中的结果集

Eloquent的 attach/detach/sync 触发任何事件?

如何在 laravel 表单验证错误消息中给出自定义字段名称