구글링 하니 나오네요
https://stackoverflow.com/questions/27342108/how-to-change-database-in-validator-in-laravel
$verifier = App::make('validation.presence'); $verifier->setConnection('server_auth'); // validate the info, create rules for the inputs $rules = User::$rules = array( 'username' => 'required|min:5|unique:users,username', 'email' => 'required|email|unique:users,email', 'password' => 'required|min:8', ); // run the validation rules on the inputs from the form $validator = Validator::make(Input::all(), $rules); $validator->setPresenceVerifier($verifier);
제가 아는 범위에서는 원하는 헬퍼 함수는 따로 없을것 같고,
validation rule을 확장해서 데이터베이스 연결하면 될 것 같습니다.
https://laravel.com/docs/5.6/validation#using-extensions
하지만 서비스 구조에 따라 api를 만들어 사용하는게 더 좋을수도 있습니다.
가령 사용자를 생성하는 로직을 따로 분리해서
class UserService { public function create(array $data) { $response = $httpClient->get('/user정보 저장 서버/user/check/1'); if ($response->status !== OK) { throw new DuplicatedUserException(); } return User::create($data); } }
대충 이런 느낌으로..
서비스 규모나 구조등을 고려해서 관리하기 편한 방법으로 만들면 될 것 같습니다.
현재 하나의 로컬 서버에 두개의 데이터베이스를 connection 해서 데이터들을 쓰고있습니다
그런데 생각하다가 하나의 데이터베이스 서버가 아니라 완전히 독립된 데이터베이스 서버 두개를 각각 사용한다고 하면
그대로 connection 서버주소를 넣어서 사용하면 되지만
validation 의 unique 같은걸 이용할때는 어떻게 어디 서버에 어느 데이터베이스에 테이블에서 검사하라는걸 알려줄수 있을까요 ??
valdation에 설정해주는 헬퍼함수가 있을까요 ?? 헬퍼함수로좀 알려주시면 안될까요 ㅠㅠ ?