【发布时间】:2018-08-17 14:03:09
【问题描述】:
我有一个问题,
我有一个控制器,我有一个表单请求来验证更新。
例如,我想提出条件。如果我更新“名称”,表单请求允许更改名称,但如果我没有进行更改,请使用相同的名称并且不会出现“唯一规则”,因为有时我必须更改名称,但有时不需要更改名称是当我没有更改名称时,因为如果我输入相同的名称,我会收到“重复”的消息,如果我尝试更新另一个 ID,则会出现“重复”。
我不知道你是否理解,但我想具体一点。
我的规则是下一个有条件的。
public function rules()
{
if (Attribute::where('name', '=', Request::get('name'))->count() == 1) {
return [
'name' => 'required'
];
} elseif (Attribute::where('name', '=', Request::get('name'))->count() != 1) {
return [
'name' => 'unique:attributes'
];
}
}
所以我比较了名称计数是否仅需要 ==1,但何时 !=1 仅唯一但无法正常工作。
有什么建议吗?
【问题讨论】:
-
在更新详细信息时插入和删除唯一规则时只需将名称设为唯一
-
我在另一个 RequestForm 上有一条规则,在插入时是唯一的,但用户可以更新名称但不使用某些名称,如果他没有更新名称,则可以在没有“重复”消息的情况下插入
-
使用了哪个 laravel 版本?
-
我使用的是5.5版本
-
@FMoreira 我已经添加了我的答案,请试一试:)