我正在使用Laravel 5.2.45
我正在尝试为我的应用程序创建新用户。 在创建用户之前,我需要检查是否存在具有相同名称,姓氏和生日的用户。 我怎么能在laravel中做到这一点?
答案 0 :(得分:5)
具有相同姓名,姓氏和生日
的用户$duplicate_user = \DB::table('users')
->where('name', 'LIKE', $new_name)
->where('surname', 'LIKE', $new_surname)
->where('birthday', '=', $new_birthday)
->first();
if($duplicate_user) {
return response('This user already exists', 422);
}
答案 1 :(得分:0)
Laravel验证Docs说
独特:表,列,除了,idColumn
Validator::extend('and_unique', function($attribute, $value, $parameters, $validator) {
$result = DB::table($parameters[0])->where(function($query) use ($attribute, $value, $parameters) {
$query->where($attribute, '=', $value) // where name = value
->orWhere($parameters[1]), '=', $value); // where surname = value
->orWhere($parameters[2]), '=', $value); // where birthday = value
})->first();
return $result ? false : true;
});
'name' => 'required|and_unique:users,surname,birthday'
答案 2 :(得分:-1)
$siteUser = new SiteUser;
foreach (['birth_date', 'first_name', 'last_name'] as $key) {
$siteUser->$key = $request->$key;
}