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
36 lines
870 B
<?php
|
|
|
|
namespace App\Http\Controllers\Api;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\UserCategory;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\Request;
|
|
|
|
class UserCategoryController extends Controller
|
|
{
|
|
# 我的频道列表
|
|
public function index(): JsonResponse
|
|
{
|
|
return $this->success(UserCategory::where('user_id', $this->user_id)->value('categories') ?? []);
|
|
}
|
|
|
|
# 我的频道编辑
|
|
public function update(Request $request): JsonResponse
|
|
{
|
|
$formData = $request->only(['channels']);
|
|
$request->validate([
|
|
'channels' => 'nullable|array',
|
|
], [
|
|
'channels.array' => 'channels必须是数组',
|
|
]);
|
|
|
|
$cats = array_unique(array_filter($formData['channels'] ?? []));
|
|
UserCategory::updateOrCreate(['user_id' => $this->user_id], [
|
|
'user_id' => $this->user_id,
|
|
'categories' => $cats,
|
|
]);
|
|
|
|
return $this->success();
|
|
}
|
|
}
|