RollingData.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. <?php
  2. namespace App\Sports\Controller;
  3. use BaseController\Controller;
  4. /**
  5. * Class RollingData
  6. * @package App\Sports\Controller
  7. * User: tank
  8. * Date: 2019/3/22
  9. */
  10. class RollingData extends Controller {
  11. /**
  12. * @throws \Exception
  13. * 获取 滚球 足球相关数据
  14. */
  15. public function footbOver (){
  16. //===球类信息===
  17. $game = lm('GameType', 'Sports')->select('id','game_name','game_code','game_ico_url')->where(['status'=>1,'game_code'=>'zq'])->first();
  18. //赛事数据
  19. $ret = lm("st_zq_competition","Sports")
  20. ->join('st_zq_league','st_zq_league.id','=','st_zq_competition.lg_id')
  21. ->join('st_zq_country','st_zq_country.id','=','st_zq_league.country_id')
  22. ->join('st_area','st_area.id','=','st_zq_league.area_id')
  23. ->select('st_zq_competition.cp_id','st_zq_competition.lg_id','st_zq_league.name_chinese as leagueName','st_zq_country.name_chinese as countryName','st_area.title as areaName')
  24. ->where(['status'=>1])
  25. ->get()->toArray();
  26. //===按 地区-洲 分组===
  27. foreach ($ret as $k => $v) {
  28. $area[$v['areaName']]['areaName'] = $v['areaName'];
  29. $area[$v['areaName']][] = $v;
  30. }
  31. $areaData=array();
  32. foreach($area as $k=>$v){
  33. // var_dump($v);exit;
  34. $areaData[]=$v;
  35. }
  36. // var_dump($areaData);exit;
  37. //===end===
  38. //===按 国家 分组===
  39. foreach ($ret as $k => $v) {
  40. $country[$v['countryName']]['countryName'] = $v['countryName'];
  41. $country[$v['countryName']][] = $v;
  42. }
  43. $countryData=array();
  44. foreach($country as $k=>$v){
  45. $countryData[]=$v;
  46. }
  47. //===end===
  48. //===获取联赛下 赛事数量===
  49. $data = [
  50. 'areaData' => $areaData,
  51. 'countryData' => $countryData
  52. ];
  53. Render($data, '1', lang('Tips','Sports')->get('success'));
  54. }
  55. //测试接口
  56. public function matchData (){
  57. //===球类信息===
  58. $game = lm('GameType', 'Sports')->select('id','game_name','game_code','game_ico_url')->where(['status'=>1,'game_code'=>'zq'])->first();
  59. //赛事数据
  60. $ret = lm("st_zq_competition","Sports")
  61. ->join('st_zq_league','st_zq_league.id','=','st_zq_competition.lg_id')
  62. ->join('st_zq_country','st_zq_country.id','=','st_zq_league.country_id')
  63. ->join('st_area','st_area.id','=','st_zq_league.area_id')
  64. ->select('st_zq_competition.cp_id','st_zq_competition.lg_id','st_zq_league.name_chinese as leagueName','st_zq_country.name_chinese as countryName','st_area.title as areaName')
  65. ->where(['status'=>1])
  66. ->get()->toArray();
  67. //===按 地区-洲 分组===
  68. foreach ($ret as $k => $v) {
  69. $area[$v['areaName']]['areaName'] = $v['areaName'];
  70. $area[$v['areaName']][] = $v;
  71. }
  72. $areaData=array();
  73. foreach($area as $k=>$v){
  74. // var_dump($v);exit;
  75. $areaData[]=$v;
  76. }
  77. // var_dump($areaData);exit;
  78. //===end===
  79. //===按 国家 分组===
  80. foreach ($ret as $k => $v) {
  81. $country[$v['countryName']]['countryName'] = $v['countryName'];
  82. $country[$v['countryName']][] = $v;
  83. }
  84. $countryData=array();
  85. foreach($country as $k=>$v){
  86. $countryData[]=$v;
  87. }
  88. //===end===
  89. //===获取联赛下 赛事数量===
  90. $data = [
  91. 'areaData' => $areaData,
  92. 'countryData' => $countryData
  93. ];
  94. Render($data, '1', lang('Tips','Sports')->get('success'));
  95. }
  96. public function test(){
  97. $string = '
  98. {
  99. "gameType": "足球",
  100. "areaData": [{
  101. "areaName": "欧洲",
  102. "matchData": [{
  103. "matchName": "欧洲冠军杯",
  104. "matchNum": 4
  105. },
  106. {
  107. "matchName": "欧洲冠军杯",
  108. "matchNum": 4
  109. }, {
  110. "matchName": "欧洲冠军杯",
  111. "matchNum": 4
  112. }
  113. ]
  114. },
  115. {
  116. "areaName": "亚洲",
  117. "matchData": [{
  118. "matchName": "欧洲冠军杯",
  119. "matchNum": 4
  120. },
  121. {
  122. "matchName": "欧洲冠军杯",
  123. "matchNum": 4
  124. }, {
  125. "matchName": "欧洲冠军杯",
  126. "matchNum": 4
  127. }
  128. ]
  129. }
  130. ],
  131. "countryData": [{
  132. "countryName": "英格兰",
  133. "matchData": [{
  134. "matchName": "欧洲冠军杯",
  135. "matchNum": 4
  136. },
  137. {
  138. "matchName": "欧洲冠军杯",
  139. "matchNum": 4
  140. }, {
  141. "matchName": "欧洲冠军杯",
  142. "matchNum": 4
  143. }
  144. ]
  145. },
  146. {
  147. "countryName": "乌克兰",
  148. "matchData": [{
  149. "matchName": "欧洲冠军杯",
  150. "matchNum": 4
  151. },
  152. {
  153. "matchName": "欧洲冠军杯",
  154. "matchNum": 4
  155. }, {
  156. "matchName": "欧洲冠军杯",
  157. "matchNum": 4
  158. }
  159. ]
  160. }
  161. ]
  162. }
  163. ';
  164. $data = json_decode($string,true);
  165. var_dump($data);
  166. }
  167. }