このfunctionの中で24〜29行目と69〜76行目をやっても良いように思いました。
そうすればデータベース周りの処理がこの中で完結しそうです。