场景是一个用户有很多设备,我想确保设备名称必须是唯一的。像用户Barry有设备名称为device_1,当他添加新设备时,设备名称必须是唯一的,但第二个用户wally有设备名称device_1那么如何实现?代码如下:
public function rules()
{
$user_id=(double)Input::get('user_id');
return [
'user_id' => 'required',
'device_name' => 'required|unique:devices,device_name,'.$user_id.',user_id',
'sensorPin_num' => 'required|integer',
'relay_num' =>'required|integer'
//
];
}
答案 0 :(得分:0)
如果您要更新,则应添加设备的ID;如果您是先创建,则应为null,例如,如果以上代码来自模型:
$device_id = $this->id ?: null;
以下是写入唯一规则:
'device_name' => 'required|unique:devices,device_name, '. $device_id .',id,user_id,'.$user_id;