/** * Get user object by id * * @param $id * * @return null|stdClass */ public static function getInfoById($id) { $users = User::all()->where('id', intval($id)); if ($users->count() == 0) { return null; } $user = $users->first(); $u = new stdClass(); $u->id = $user->id; $u->name = $user->name; $u->lop = ClassX::getClassName($user->class); $u->email = $user->email; $u->type = $user->type; if ($u->type == 'teacher') { $u->avatar = '0'; } else { $u->avatar = '1'; } if ($u->type == 'student') { $u->mssv = $user->msv; } else { $u->mssv = ''; } return $u; }
/** * Update information user * * @param Request $request * * @return \Illuminate\Http\JsonResponse */ public function update(Request $request) { onlyAllowPostRequest($request); $all = $request->only(['email', 'name', 'mssv', 'lop']); /** * Dữ liệu trả về */ $response = new stdClass(); /** * Xử lý lớp khóa học */ $classX = $all['lop']; $id_class = ClassX::getIdByClassName($classX); if ($id_class == false) { //Lớp khóa học không tồn tại $response->error = true; $response->error_msg = 'Lớp khóa học không tồn tại'; return response()->json($response); } /** * Tìm user bằng email */ $users = DB::table('users')->where('email', $all['email']); if ($users->count() == 0) { $response->error = true; $response->error_msg = 'Đã có lỗi gì đó xảy ra!'; return response()->json($response); } $updated = $users->update(['name' => ucwords($all['name']), 'msv' => $all['mssv'], 'class' => $id_class]); if ($updated == 0) { $response->error = true; $response->error_msg = 'Cập nhật không có gì thay đổi!'; return response()->json($response); } $user = $users->first(); $response->error = false; $response->uid = $user->id; $user_x = new stdClass(); $user_x->name = $user->name; $user_x->email = $user->email; $user_x->type = $user->type; $user_x->lop = ClassX::getClassName($user->class); $user_x->mssv = $user->msv; $user_x->created_at = date_create($user->created_at)->setTimezone(new DateTimeZone('Asia/Ho_Chi_Minh'))->format('Y-m-d H:m:i'); $user_x->updated_at = date_create($user->updated_at)->setTimezone(new DateTimeZone('Asia/Ho_Chi_Minh'))->format('Y-m-d H:m:i'); $response->user = $user_x; return response()->json($response); }