【发布时间】:2018-11-04 04:16:22
【问题描述】:
我有一个包含许多外键的模型。这些外键之一必须是唯一值。
我的验证规则如下:
$data['rules'] = [
'address' => 'required|string',
'buyer_id' => 'required|exists:buyers,id',
'buyer_name' => 'required|string',
'date' => 'required|date',
'email' => 'required|email',
'identification_photo' => 'required|string',
'invoice' => 'string|required',
'middleman_id' => 'nullable|exists:middlemen,id',
'price' => 'required|numeric|between:1,99999999999999999999999999.9999',
'property_id' => 'required|exists:properties,id|unique:reservations,property_id',
'purchase_receipt' => 'required|string',
'rfc' => array(
'required',
'regex:/^([A-Z,Ñ,&]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])[A-Z|\d]{3})$/'
),
'tier_id' => 'nullable|exists:tiers,id',
'user_id' => 'required|exists:users,id',
];
我遇到的麻烦是 property_id。这在当前的预订表中必须是唯一的。
为了在我进行更新时忽略该验证,我在调用验证器之前添加了这行代码:
$book['rules']['property_id'] .= ",{$item->property_id}";
当我对所有规则执行Log::info 时,我得到以下行:'property_id' => 'required|exists:properties,id|unique:reservations,property_id,4',
但我不断收到错误消息。我做错了吗?
【问题讨论】:
标签: laravel laravel-5 eloquent