php - 多个字段在 laravel 中的唯一约束
问题描述
我有这张桌子:
在我输入的代码中:
$id = request()->route()->parameter('keyword')?->id;
return [
'key' => ['required', 'unique:keywords,key,project_page_id,'.$id],
];
如果我尝试使用键addButton
和添加新项目project_page_id = 5
,我会收到 422 错误消息:The key has already been taken.
。我想拥有key
project_page_id 的唯一性,我怎样才能做到这一点?
解决方案
Laravel
具有验证对象,您可以在其中获得更强大的选项。它有一个独特的验证对象,您可以调整查询,我认为您需要以下逻辑,也可以检查project_page_id
.
'key' => ['required', (new Unique('keywords', 'id'))->where('project_page_id', $id)],
推荐阅读
- c++ - 无符号字符串类型的 C++ 正则表达式
- c++11 - 安全地将回调从托管代码传递到本机代码
- python - 使用 Django-Rest 序列化程序进行动态验证和操作字典(无模型)
- jhipster - 没有授权的端点
- cloudify - Cloudify 代理安装
- javascript - Chrome 扩展消息传递不起作用?
- c# - 如何根据其代码页索引从字符串中删除字符?
- vb.net - BindingNavigator 可以在删除前检查关系吗?
- php - laravel有没有办法制作3个表,一个表属于2个不同的表,具有一对一的关系
- linkedin - PARAMETER 中的字段值验证失败:在 linkedIn API V2 中处理字段 [/authors] 时出现数据处理异常