findUsers(); echo sprintf('pending users: %s', $users->count()) . PHP_EOL; if ($users->count() == 0) return; echo '------ start revoke vip task ------' . PHP_EOL; foreach ($users as $user) { $user->vip = 0; $user->update(); } echo '------ end revoke vip task ------' . PHP_EOL; } /** * 查找待撤销会员 * * @param int $limit * @return ResultsetInterface|Resultset|UserModel[] */ protected function findUsers($limit = 1000) { $time = time(); return UserModel::query() ->where('vip = 1') ->andWhere('vip_expiry_time < :time:', ['time' => $time]) ->limit($limit) ->execute(); } }