彩种类型

main
Jing Li 2024-04-07 14:00:59 +08:00
parent 7446150844
commit 4cd46a03f0
4 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,20 @@
<?php
namespace App\Filters;
use App\Models\Keyword;
use EloquentFilter\ModelFilter;
class KeywordFilter extends ModelFilter
{
public function parentKey($key)
{
$parent = Keyword::where('key', $key)->first();
$this->when(
$parent,
fn ($query) => $query->where('parent_id', $parent->id),
fn ($query) => $query->whereRaw('1!=1'),
);
}
}

View File

@ -0,0 +1,19 @@
<?php
namespace App\Http\Controllers\Api;
use App\Models\Keyword;
class LotteryTypeController extends Controller
{
public function index()
{
/** @var \Illuminate\Database\Eloquent\Collection */
$lotteryTypes = Keyword::filter(['parent_key' => 'lottery_type'])->oldest('sort')->get();
return $lotteryTypes->map(fn ($item) => [
'id' => $item->value,
'name' => $item->name,
]);
}
}

View File

@ -3,6 +3,7 @@
namespace App\Models;
use App\Admin\Components;
use App\Filters\KeywordFilter;
use EloquentFilter\Filterable;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Factories\HasFactory;
@ -72,6 +73,11 @@ class Keyword extends Model
.'-%' ?? '');
}
public function modelFilter(): string
{
return KeywordFilter::class;
}
public static function tagsMap(string $key)
{
$mapArr = [];

View File

@ -3,6 +3,7 @@
use App\Http\Controllers\Api\Auth\AccessTokenController;
use App\Http\Controllers\Api\ComplaintController;
use App\Http\Controllers\Api\FeedbackController;
use App\Http\Controllers\Api\LotteryTypeController;
use Illuminate\Support\Facades\Route;
Route::post('/auth/login', [AccessTokenController::class, 'store']);
@ -11,6 +12,8 @@ Route::delete('/auth/logout', [AccessTokenController::class, 'destroy']);
Route::group([
'middleware' => ['auth:api'],
], function () {
// 彩种类型
Route::get('lottery-types', [LotteryTypeController::class, 'index']);
// 举报投诉
Route::post('complaints', [ComplaintController::class, 'store']);
// 意见箱