diff --git a/beike/Admin/Http/Controllers/BrandController.php b/beike/Admin/Http/Controllers/BrandController.php index 42069b92..86eb0cf2 100644 --- a/beike/Admin/Http/Controllers/BrandController.php +++ b/beike/Admin/Http/Controllers/BrandController.php @@ -49,4 +49,11 @@ class BrandController extends Controller return json_success("已成功删除"); } + + public function autocomplete(Request $request) + { + $brands = BrandRepo::autocomplete($request->get('name') ?? ''); + + return json_success('获取成功!', $brands); + } } diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index f50940df..fc270a18 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -9,6 +9,7 @@ Route::prefix($adminName) ->middleware(['web']) ->name("{$adminName}.") ->group(function () { + Route::get('brands/autocomplete', [Controllers\BrandController::class, 'autocomplete'])->name('brands.autocomplete'); Route::get('login', [Controllers\LoginController::class, 'show'])->name('login.show'); Route::post('login', [Controllers\LoginController::class, 'store'])->name('login.store'); diff --git a/beike/Repositories/BrandRepo.php b/beike/Repositories/BrandRepo.php index 0cf65a84..1fdd2f42 100644 --- a/beike/Repositories/BrandRepo.php +++ b/beike/Repositories/BrandRepo.php @@ -98,4 +98,14 @@ class BrandRepo return $results; } + + public static function autocomplete($name) + { + $brands = Brand::query() + ->where('name', 'like', "{$name}%") + ->where('status', 1) + ->select('id', 'name') + ->limit(10)->get(); + return $brands; + } } diff --git a/beike/Shop/Http/Controllers/BrandController.php b/beike/Shop/Http/Controllers/BrandController.php index 8e387e0d..e21e4bc9 100644 --- a/beike/Shop/Http/Controllers/BrandController.php +++ b/beike/Shop/Http/Controllers/BrandController.php @@ -4,6 +4,7 @@ namespace Beike\Shop\Http\Controllers; use Beike\Repositories\BrandRepo; use Beike\Shop\Http\Resources\ProductList; +use Illuminate\Http\Request; class BrandController extends Controller { @@ -27,4 +28,11 @@ class BrandController extends Controller return view('brand/info', $data); } + + public function autocomplete(Request $request) + { + $brands = BrandRepo::autocomplete($request->get('name') ?? ''); + + return json_success('获取成功!', $brands); + } } diff --git a/beike/Shop/Routes/shop.php b/beike/Shop/Routes/shop.php index 3967104c..ca9b0659 100644 --- a/beike/Shop/Routes/shop.php +++ b/beike/Shop/Routes/shop.php @@ -29,6 +29,7 @@ Route::prefix('/') Route::get('/', [HomeController::class, 'index'])->name('home.index'); Route::get('brands', [BrandController::class, 'index'])->name('brands.index'); + Route::get('brands/autocomplete', [BrandController::class, 'autocomplete'])->name('brands.autocomplete'); Route::get('brands/{id}', [BrandController::class, 'show'])->name('brands.show'); Route::get('carts', [CartController::class, 'index'])->name('carts.index');