【发布时间】:2017-10-17 12:37:14
【问题描述】:
我正在尝试制作简单独特的蛞蝓。蛞蝓已正确保存在数据库中,因此该功能正常工作。我在使它们独一无二时遇到了问题。
我在 TagCreateRequest.php 中有这个规则
public function rules()
{
$rules = [
'tag' => 'required|min:3',
'tag_slug' => 'required|alpha_dash|unique:tag,tag_slug,'
];
$rule = 'unique:tag';
$segments = $this->segments();
$id = intval(end($segments));
if ($id != 0) {
$rule .= ',tag_slug,' . $id;
}
$rules['tag_slug'][] = $rule;
return $rules;
}
这在我的控制器中的商店功能
public function store(TagCreateRequest $request)
{
$tag = new Tag();
foreach (array_keys($this->fields) as $field) {
$tag->$field = $request->get($field);
}
$tag->save();
return redirect()->route('tags');
}
错误是关于尝试添加重复值
SQLSTATE[23000]:违反完整性约束:1062 键 'tags_tag_unique' 的重复条目 'unique slug'
有人可以帮我解决这个问题吗?
【问题讨论】:
-
是
tag_slug列还是tag表中的slug列? -
我是
tag_slug -
我说的是
unique:tag,slug,只是问它不是错字吗? -
那么应该是
unique:tag(table name) ,tag_slug (field name) -
是的,@user2486,这是错字。谢谢,但还是同样的错误。