Db.php 1.1 KB

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