我知道这个问题存在,但是到目前为止我还没有找到解决方案。我有一个名为+-----------------------------------------------------------------------------------------------------------------+
|value |
+-----------------------------------------------------------------------------------------------------------------+
|{"ID":1,"ID-2":23,"fruits":{"no of banana":0,"no of apples":1},"vegetables":{"no of potatos":2,"no of onions":0}}|
|{"ID":2,"ID-2":23,"fruits":{"no of banana":1,"no of apples":0},"vegetables":{"no of potatos":0,"no of onions":1}}|
|{"ID":2,"ID-2":29,"fruits":{"no of banana":0,"no of apples":1},"vegetables":{"no of potatos":1,"no of onions":0}}|
+-----------------------------------------------------------------------------------------------------------------+
的表,其中有两个字段:players
name,
我的目标是在输入多个条目时不重复。
我想得到这个结果。
firstname.
如果我有两次 Fostier |阿兰,这是不正确的。
重复系统应该仅合并ID?我尝试了以下方法,但没有成功。
Fostier | Alain
Fostier | Jeremy
答案 0 :(得分:3)
您可以使用Illuminate\Validation\Rule
类进行复合检查,例如:
use Illuminate\Validation\Rule;
...
$request->validate([
'name' => ['required', Rule::unique('players', 'name')->where(function ($query) use ($request) {
return $query->where('name','!=', $request->input('firstname'));
})],
'firstname' => ['required', Rule::unique('players', 'firstname')->where(function ($query) use ($request) {
return $query->where('firstname', '!=', $request->input('name'));
})],
]);
这还将通过检查“名称”是否在使用中来检查“名字”的唯一性,并且对“名称”也进行同样的检查“名字”。