Index.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace app\api\controller;
  3. use app\api\model\Article as ArticleModel;
  4. use app\api\model\Goods as GoodsModel;
  5. /**
  6. * 默认控制器
  7. * Class Index
  8. * @package app\api\controller
  9. */
  10. class Index extends Controller
  11. {
  12. public function index()
  13. {
  14. //banner位
  15. //商品区。new,video,bestseller
  16. $model = new GoodsModel;
  17. $newArrival = $model->getList(['listType'=>'on_sale'],4)->toArray()['data'];
  18. $bestseller = $model->getList(['sortType'=>'sales'],4)->toArray()['data'];
  19. //return $this->renderSuccess(compact('bestseller'));
  20. $newGoodsId = array_column($newArrival,'goods_id');
  21. $bestGoodsId = array_column($bestseller,'goods_id');
  22. //获取评价数量
  23. $goodsIds = array_unique(array_merge($newGoodsId,$bestGoodsId));
  24. $commentModel = new \app\api\model\Comment();
  25. $rows = $commentModel->rowsTotalBatch($goodsIds)->toArray();
  26. $rowsByGoodsId = array_column($rows,'cnt','goods_id');
  27. //可考虑缓存
  28. foreach ($newArrival as &$item){
  29. $item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
  30. }
  31. foreach ($bestseller as &$item){
  32. $item['comment_cnt'] = $rowsByGoodsId[$item['goods_id']] ?? 0;
  33. }
  34. $model = new ArticleModel;
  35. $article = $model->getList(0,5)->toArray()['data'];
  36. foreach ($article as &$datum){
  37. $datum['year'] = substr($datum['create_time'],0,4);
  38. $datum['month_day'] = substr($datum['create_time'],5,5);
  39. }
  40. //dd($article);
  41. return view('index', [
  42. 'newGoods' => $newArrival,
  43. 'bestseller' => $bestseller,
  44. 'article' => $article,
  45. ]);
  46. echo '当前访问的index.php,请将index.html设为默认站点入口';
  47. }
  48. }