海南旅游SAAS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
870 B

  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\Controller;
  4. use App\Models\UserCategory;
  5. use Illuminate\Http\JsonResponse;
  6. use Illuminate\Http\Request;
  7. class UserCategoryController extends Controller
  8. {
  9. # 我的频道列表
  10. public function index(): JsonResponse
  11. {
  12. return $this->success(UserCategory::where('user_id', $this->user_id)->value('categories') ?? []);
  13. }
  14. # 我的频道编辑
  15. public function update(Request $request): JsonResponse
  16. {
  17. $formData = $request->only(['channels']);
  18. $request->validate([
  19. 'channels' => 'nullable|array',
  20. ], [
  21. 'channels.array' => 'channels必须是数组',
  22. ]);
  23. $cats = array_unique(array_filter($formData['channels'] ?? []));
  24. UserCategory::updateOrCreate(['user_id' => $this->user_id], [
  25. 'user_id' => $this->user_id,
  26. 'categories' => $cats,
  27. ]);
  28. return $this->success();
  29. }
  30. }