BlogController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\Blog;
  4. use Illuminate\Http\Request;
  5. class BlogController extends Controller
  6. {
  7. /**
  8. * Display a listing of the resource.
  9. *
  10. * @return \Illuminate\Http\Response
  11. */
  12. public function index()
  13. {
  14. return Blog::all();
  15. }
  16. public function index_page(Request $request)
  17. {
  18. return Blog::offset($request->offset)->limit($request->rows)->get();
  19. }
  20. public function sidebar(Request $request)
  21. {
  22. return [
  23. // 'recentPosts' => Blog::whereIn('id', $request->rankingList)->get(),
  24. 'recentPosts' => Blog::limit(4)->get(),
  25. 'categories' => [
  26. ['category' => 'Fashion', 'icon' => 'WatchIcon'],
  27. ['category' => 'Food', 'icon' => 'ShoppingCartIcon'],
  28. ['category' => 'Gaming', 'icon' => 'CommandIcon'],
  29. ['category' => 'Quote', 'icon' => 'HashIcon'],
  30. ['category' => 'Video', 'icon' => 'VideoIcon'],
  31. ]
  32. ];
  33. }
  34. public function total_count()
  35. {
  36. $list = Blog::all();
  37. return $list->count();
  38. }
  39. /**
  40. * Show the form for creating a new resource.
  41. *
  42. * @return \Illuminate\Http\Response
  43. */
  44. public function create()
  45. {
  46. //
  47. }
  48. /**
  49. * Store a newly created resource in storage.
  50. *
  51. * @param \Illuminate\Http\Request $request
  52. * @return \Illuminate\Http\Response
  53. */
  54. public function store(Request $request)
  55. {
  56. Blog::insert([
  57. 'title' => $request->title,
  58. 'content' => $request->content,
  59. 'tags' => $request->tags,
  60. 'authorId' => $request->userId,
  61. 'bookmarked' => 0,
  62. 'created_at' => now(),
  63. 'updated_at' => now(),
  64. ]);
  65. }
  66. /**
  67. * Display the specified resource.
  68. *
  69. * @param \App\Models\Blog $blog
  70. * @return \Illuminate\Http\Response
  71. */
  72. public function show(Request $request)
  73. {
  74. $blog = Blog::where('id', '=', $request->blogId)->first();
  75. $blog->tags = json_decode($blog->tags);
  76. return $blog;
  77. }
  78. /**
  79. * Show the form for editing the specified resource.
  80. *
  81. * @param \App\Models\Blog $blog
  82. * @return \Illuminate\Http\Response
  83. */
  84. public function edit(Request $request)
  85. {
  86. $blog = Blog::where('id', $request->blogId)->first();
  87. if ($blog->authorId == $request->userId) {
  88. $blog->update([
  89. 'title' => $request->title,
  90. 'content' => $request->content,
  91. 'tags' => $request->tags,
  92. 'updated_at' => now(),
  93. ]);
  94. }
  95. }
  96. /**
  97. * Update the specified resource in storage.
  98. *
  99. * @param \Illuminate\Http\Request $request
  100. * @param \App\Models\Blog $blog
  101. * @return \Illuminate\Http\Response
  102. */
  103. public function update(Request $request, Blog $blog)
  104. {
  105. //
  106. }
  107. /**
  108. * Remove the specified resource from storage.
  109. *
  110. * @param \App\Models\Blog $blog
  111. * @return \Illuminate\Http\Response
  112. */
  113. public function destroy(Request $request)
  114. {
  115. Blog::where('id', '=', $request->blogId)->delete();
  116. }
  117. }