NewsController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\FrontController;
  4. use App\Models\NewsModels\News;
  5. use App\Servers\Common\CommonServer;
  6. class NewsController extends FrontController
  7. {
  8. public function __construct()
  9. {
  10. parent::__construct();
  11. }
  12. /**
  13. * 获取新闻列表
  14. * @return \Illuminate\Http\JsonResponse
  15. */
  16. function getList(){
  17. //查询数据条件
  18. $where = [['is_del',0]];
  19. //获取数据
  20. $list = News::where($where)
  21. ->select(['id','image','cn_title','en_title','created_at'])
  22. ->orderBy('id','desc')
  23. ->paginate(10);
  24. $cn_data = [];
  25. $en_data = [];
  26. foreach ($list as $value){
  27. $cn['title'] = $value['cn_title'];
  28. $cn['id'] = $value['id'];
  29. $cn['image'] = $value['image'];
  30. $cn['created_at'] = date('Y年m月d日',strtotime($value['created_at']));
  31. $en['title'] = $value['en_title'];
  32. $en['id'] = $value['id'];
  33. $en['image'] = $value['image'];
  34. $en['created_at'] = date('Y年m月d日',strtotime($value['created_at']));
  35. $cn_data[] = $cn;
  36. $en_data[] = $en;
  37. }
  38. $cn_datas['items'] = $cn_data;
  39. $en_datas['items'] = $en_data;
  40. return $this->apiResponseSuccess('获取列表成功', [
  41. 'cn' => $cn_datas,
  42. 'en' => $en_datas,
  43. 'total' => $list->total(),
  44. 'limit' => 10,
  45. ]);
  46. }
  47. /**
  48. * 获取新闻详情
  49. * @return \Illuminate\Http\JsonResponse
  50. */
  51. function getInfo(){
  52. $id = CommonServer::creatServer()->filtrationStr('id');//获取需要查询的记录id
  53. if(empty($id)) return $this->apiResponseError('请选择正确新闻');
  54. //查询数据
  55. $info = News::where('id',$id)->first();
  56. if(empty($info)) return $this->apiResponseError('新闻不存在');
  57. $data= [];
  58. $data['cn']['title'] = $info['cn_title'];
  59. $data['cn']['content'] = $info['cn_content'];
  60. $data['en']['title'] = $info['en_title'];
  61. $data['en']['content'] = $info['en_content'];
  62. $data['created_at'] = date('Y.m.d',strtotime($info['created_at']));
  63. return $this->apiResponseSuccess('获取成功', $data);
  64. }
  65. }