where('USC_NAME', '=', $name) ->get() ->first(); if (empty($userConfig)) { return null; } return [ "id" => $userConfig->USR_ID, "name" => $userConfig->USC_NAME, "setting" => json_decode($userConfig->USC_SETTING) ]; } /** * Add user setting. * @param int $id * @param string $name * @param string $setting * @return mix array|null */ public static function addSetting(int $id, string $name, string $setting) { $userConfig = UserConfig::getSetting($id, $name); if (empty($userConfig)) { $model = new UserConfig(); $model->USR_ID = $id; $model->USC_NAME = $name; $model->USC_SETTING = $setting; $model->save(); $userConfig = UserConfig::getSetting($id, $name); } return $userConfig; } /** * Edit user setting. * @param int $id * @param string $name * @param string $setting * @return mix array|null */ public static function editSetting(int $id, string $name, string $setting) { UserConfig::where('USR_ID', '=', $id) ->where('USC_NAME', '=', $name) ->update(["USC_SETTING" => $setting]); return UserConfig::getSetting($id, $name); } /** * Delete user setting. * @param int $id * @param string $name * @return mix array|null */ public static function deleteSetting(int $id, string $name) { $userConfig = UserConfig::getSetting($id, $name); UserConfig::where('USR_ID', '=', $id) ->where('USC_NAME', '=', $name) ->delete(); return $userConfig; } }