MessageController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Message;
  4. use App\Models\MessageComment;
  5. use App\Http\Requests\StoremessageRequest;
  6. use App\Http\Requests\UpdatemessageRequest;
  7. use Illuminate\Http\Request;
  8. use Illuminate\Support\Facades\DB;
  9. class MessageController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. *
  14. * @return \Illuminate\Http\Response
  15. */
  16. public function index()
  17. {
  18. //
  19. $message = Message::all();
  20. return $message;
  21. }
  22. /**
  23. * Show the form for creating a new resource.
  24. *
  25. * @return \Illuminate\Http\Response
  26. */
  27. public function create()
  28. {
  29. //
  30. }
  31. /**
  32. * Store a newly created resource in storage.
  33. *
  34. * @param \App\Http\Requests\StoremessageRequest $request
  35. * @return \Illuminate\Http\Response
  36. */
  37. public function store(StoremessageRequest $request)
  38. {
  39. //
  40. }
  41. /**
  42. * Store a newly created resource in storage.
  43. *
  44. * @param \App\Http\Requests\StoremessageRequest $request
  45. * @return \Illuminate\Http\Response
  46. */
  47. public function storeComment(StoremessageRequest $request)
  48. {
  49. //
  50. $message_comment = MessageComment::Create([
  51. 'content' => $request->content,
  52. 'author_id' => $request->User()->id,
  53. 'message_id' => $request->message_id,
  54. ]);
  55. return $message_comment;
  56. }
  57. /**
  58. * Display the specified resource.
  59. *
  60. * @param \App\Models\message $message
  61. * @return \Illuminate\Http\Response
  62. */
  63. public function show(Request $request, message $message)
  64. {
  65. //
  66. $message = Message::where('id', '=', $request->id)->get()[0];
  67. $comment = MessageComment::where('message_id', '=', $request->id)->get();
  68. $response = [
  69. 'blog' => $message,
  70. 'comments' => $comment,
  71. ];
  72. return response($response, 201);
  73. }
  74. /**
  75. * Show the form for editing the specified resource.
  76. *
  77. * @param \App\Models\message $message
  78. * @return \Illuminate\Http\Response
  79. */
  80. public function edit(message $message)
  81. {
  82. //
  83. }
  84. /**
  85. * Update the specified resource in storage.
  86. *
  87. * @param \App\Http\Requests\UpdatemessageRequest $request
  88. * @param \App\Models\message $message
  89. * @return \Illuminate\Http\Response
  90. */
  91. public function update(UpdatemessageRequest $request, message $message)
  92. {
  93. //
  94. }
  95. /**
  96. * Remove the specified resource from storage.
  97. *
  98. * @param \App\Models\message $message
  99. * @return \Illuminate\Http\Response
  100. */
  101. public function destroy(message $message)
  102. {
  103. //
  104. }
  105. public function count()
  106. {
  107. $count = DB::select('SELECT [messages].[id],Count([message_comments].[id]) AS count FROM [laravel].[dbo].[messages]
  108. LEFT JOIN [message_comments] ON [message_comments].[message_id] = [messages].[id]
  109. GROUP BY [messages].[id]');
  110. return $count;
  111. }
  112. public function recent()
  113. {
  114. //
  115. $message = Message::all()->sortByDesc('created_at')->take(4);
  116. $categories = [
  117. ['category' => '台灣小吃', 'icon' => 'WatchIcon'],
  118. ['category' => '新北美食', 'icon' => 'ShoppingCartIcon'],
  119. ['category' => '熱炒店', 'icon' => 'CommandIcon'],
  120. ['category' => '吃到飽', 'icon' => 'HashIcon'],
  121. ['category' => '童坑', 'icon' => 'AlertOctagonIcon']
  122. ];
  123. $response = [
  124. 'recentPosts' => $message,
  125. 'categories' => $categories,
  126. ];
  127. return $response;
  128. }
  129. }