MicroModel.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * User: lufei
  4. * Date: 2020/6/24
  5. * Email: [email protected]
  6. */
  7. namespace App\Model;
  8. use Simps\DB\BaseModel;
  9. class MicroModel extends BaseModel
  10. {
  11. public function microDb()
  12. {
  13. $id = mt_rand(1, 10000);
  14. $data = $this->get(
  15. "World",
  16. [
  17. 'id',
  18. 'randomNumber'
  19. ],
  20. [
  21. "id" => $id
  22. ]
  23. );
  24. return \json_encode($data, JSON_NUMERIC_CHECK);
  25. }
  26. public function microQueries(int $queries = 0)
  27. {
  28. $query_count = 1;
  29. if ($queries > 1) {
  30. $query_count = $queries > 500 ? 500 : $queries;
  31. }
  32. $arr = [];
  33. while ($query_count--) {
  34. $id = mt_rand(1, 10000);
  35. $data = $this->get(
  36. "World",
  37. [
  38. 'id',
  39. 'randomNumber'
  40. ],
  41. [
  42. "id" => $id
  43. ]
  44. );
  45. // Store result in array.
  46. $arr[] = $data;
  47. }
  48. return \json_encode($arr, JSON_NUMERIC_CHECK);
  49. }
  50. public function microUpdates(int $queries = 0)
  51. {
  52. $query_count = 1;
  53. if ($queries > 1) {
  54. $query_count = $queries > 500 ? 500 : $queries;
  55. }
  56. $arr = [];
  57. while ($query_count--) {
  58. $id = mt_rand(1, 10000);
  59. $randomNumber = mt_rand(1, 10000);
  60. $data = $this->get(
  61. "World",
  62. [
  63. 'id',
  64. 'randomNumber'
  65. ],
  66. [
  67. "id" => $id
  68. ]
  69. );
  70. $world = ['id' => $id, 'randomNumber' => $data['randomNumber']];
  71. $world['randomNumber'] = $randomNumber;
  72. $this->update(
  73. "World",
  74. [
  75. 'randomNumber' => $randomNumber
  76. ],
  77. [
  78. "id" => $id
  79. ]
  80. );
  81. $arr[] = $world;
  82. }
  83. return \json_encode($arr, JSON_NUMERIC_CHECK);
  84. }
  85. }