// 手机号验证不允许一样
collect($data)->chunk(100)->each(function ($user){
$mobiles = $user->pluck('mobile');
// 数据库中100以内的数据
$all_result = $userModel->select('id_number','mobile')->distinct()->whereIn('mobile',$mobiles)->get()->toArray();
// 获取数据中的身份证号数组
$result = array_column($all_result,'id_number');
// 获取传入数据集合中的身份证号
$pluck=$user->pluck('id_number')->toArray();
// 判断两者差集
$diff = array_diff($result,$pluck);
// 如果差集数据大于0,代表数据中有被他人使用的手机号
if (count($diff)>0) {
//获取被使用的手机号
$mobile = array_filter($all_result,function ($value) use ($diff) {
if ($diff[0]==$value['id_number']) {
return $value['mobile'];
}
});
throw new Exception(ErrorCode::ERR_MOBILE_IS_USERD,"手机号{$mobile[0]['mobile']}已存在");
}
});