【发布时间】:2025-12-20 04:35:07
【问题描述】:
我知道该主题存在,但到目前为止我还没有找到解决方案。我有一个名为 players 的表,其中包含两个字段:name, firstname. 我的目标是在输入多个条目时不重复。
我想得到这个结果。
Fostier | Alain
Fostier | Jeremy
如果我有两次 福斯蒂尔 |阿兰这是不正确的。
重复系统应该只结合ID?我尝试了以下但没有成功。
public function store(Request $request)
{
$request->validate([
'name' => 'required|unique:players,name',
'firstname' => 'required|unique:players,firstname',
]);
Player::create($request->all());
flashy('Valider');
return redirect()->route('players.index')
->with('success', 'save');
}
【问题讨论】:
-
开箱即用,
unique方法不处理连接/复合列。这将需要一些自定义逻辑,例如对具有该名字/姓氏的玩家执行单独的查询,或者在您的桌子上存储一个 slug 并在您的unique规则中引用它等等。 -
@TimLewis 评论不适用于答案或部分答案。这似乎可以通过一些工作变成一个不错的答案。
-
@J.A.Streich 你是对的,但我的评论并不是一个真正的答案;它是关于可用不同方法的更多指南。将其变成答案需要大量工作,这属于“过于宽泛”的密切原因。我会把它作为评论留下,如果用户想尝试其中一个,他们可以自行关闭或更新任何新的、更具体的错误。
-
@Tim Lewis:谢谢你的解释。
标签: laravel