Db.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace controllers;
  3. use Ubiquity\orm\DAO;
  4. use models\World;
  5. /**
  6. * Bench controller.
  7. */
  8. class Db extends \Ubiquity\controllers\SimpleViewController {
  9. public function initialize() {
  10. \header('Content-Type: application/json');
  11. \Ubiquity\cache\CacheManager::startProd(\Ubiquity\controllers\Startup::$config);
  12. DAO::setModelDatabase(World::class);
  13. }
  14. public function index() {
  15. echo \json_encode((DAO::getById(World::class, [
  16. 'id' => \mt_rand(1, 10000)
  17. ], false))->_rest);
  18. }
  19. public function query($queries = 1) {
  20. $worlds = [];
  21. $queries = \min(\max($queries, 1), 500);
  22. for ($i = 0; $i < $queries; ++ $i) {
  23. $worlds[] = (DAO::getById(World::class, [
  24. 'id' => \mt_rand(1, 10000)
  25. ], false))->_rest;
  26. }
  27. echo \json_encode($worlds);
  28. }
  29. public function update($queries = 1) {
  30. $worlds = [];
  31. $queries = \min(\max($queries, 1), 500);
  32. for ($i = 0; $i < $queries; ++ $i) {
  33. $world = DAO::getById(World::class, [
  34. 'id' => \mt_rand(1, 10000)
  35. ], false);
  36. $world->randomNumber = \mt_rand(1, 10000);
  37. DAO::update($world);
  38. $worlds[] = $world->_rest;
  39. }
  40. echo \json_encode($worlds);
  41. }
  42. }