Slide 66
Slide 66 text
public function create(Request $request) {
$name = $request->input('name');
$user = new User();
$result = $user->loadByName($name);
if ($user->error) {
Logger::Log('error occurred. error:' . $user->dbError);
$viewModel = new UserCreateResponse('', '');
return view('user.create', compact('viewModel'));
}
// ユーザ名重複
if ($result) {
$viewModel = new UserCreateResponse('', '');
return view('user.create', compact('viewModel'));
}
$user->id = uniqid();
$user->name = $name;
$result = $user->add();
if (!$result) {
Logger::Log('error occurred. error:' . $user->dbError);
$viewModel = new UserCreateResponse('', '');
return view('user.create', compact('viewModel'));
}
$viewModel = new UserCreateResponse($user->id, $user->name);
return view('user.create', compact('viewModel'));
}
class User {
public $id;
public $name;
public $dbError;
public $error;
public function loadByName(string $name){
$this->error = false;
try{
$user = DB::table('users')->where('name', $name)->first();
if($user !== null){
$this->id = $user->id;
$this->name = $user->name;
return true;
}else{
return false;
}
}catch (¥Exception $e){
$this->dbError = $e;
$this->error = true;
return false;
}