From b9ad5d7c1066f09bb630e6d403a4e26644841e8f Mon Sep 17 00:00:00 2001 From: TL Date: Thu, 14 Jul 2022 15:25:11 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=95=86=E5=93=81=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=EF=BC=9B=E8=8E=B7=E5=8F=96=E5=88=86=E7=B1=BB=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/Http/Controllers/CategoryController.php | 8 ++++++++ .../Admin/Http/Controllers/ProductController.php | 9 +++++++-- beike/Admin/Repositories/CategoryRepo.php | 10 ++++++++++ beike/Admin/Routes/admin.php | 2 ++ beike/Repositories/ProductRepo.php | 15 +++++++++++++++ 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/beike/Admin/Http/Controllers/CategoryController.php b/beike/Admin/Http/Controllers/CategoryController.php index e7572afb..4149bab0 100644 --- a/beike/Admin/Http/Controllers/CategoryController.php +++ b/beike/Admin/Http/Controllers/CategoryController.php @@ -7,6 +7,7 @@ use Beike\Admin\Http\Resources\CategoryResource; use Beike\Admin\Repositories\CategoryRepo; use Beike\Models\Category; use Beike\Admin\Services\CategoryService; +use Beike\Repositories\ProductRepo; use Illuminate\Http\Request; class CategoryController extends Controller @@ -46,6 +47,13 @@ class CategoryController extends Controller return $this->save($request, $category); } + public function name(int $id) + { + $name = CategoryRepo::getName($id); + + return json_success('获取成功', $name); + } + protected function form(Request $request, Category $category = null) { if ($category) { diff --git a/beike/Admin/Http/Controllers/ProductController.php b/beike/Admin/Http/Controllers/ProductController.php index fcbd5954..4dc86c13 100644 --- a/beike/Admin/Http/Controllers/ProductController.php +++ b/beike/Admin/Http/Controllers/ProductController.php @@ -5,8 +5,6 @@ namespace Beike\Admin\Http\Controllers; use Beike\Admin\Http\Resources\ProductResource; use Beike\Admin\Repositories\CategoryRepo; use Beike\Models\Product; -use Beike\Models\ProductDescription; -use Beike\Models\ProductSku; use Beike\Admin\Services\ProductService; use Beike\Repositories\ProductRepo; use Illuminate\Http\Request; @@ -94,4 +92,11 @@ class ProductController extends Controller return redirect($this->getRedirect())->with('success', 'product created'); } + + public function name(int $id) + { + $name = ProductRepo::getName($id); + + return json_success('获取成功', $name); + } } diff --git a/beike/Admin/Repositories/CategoryRepo.php b/beike/Admin/Repositories/CategoryRepo.php index bbffebaf..00b12260 100644 --- a/beike/Admin/Repositories/CategoryRepo.php +++ b/beike/Admin/Repositories/CategoryRepo.php @@ -36,4 +36,14 @@ class CategoryRepo ]); } + + public static function getName($id) + { + $category = Category::query()->find($id); + + if ($category) { + return $category->description->name; + } + return ''; + } } diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index 8282bb4d..3e6467ee 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -34,6 +34,8 @@ Route::prefix($adminName) Route::Resource('customer_groups', Controllers\CustomerGroupController::class); Route::put('products/restore', [Controllers\ProductController::class, 'restore']); + Route::get('categories/{id}/name', [Controllers\CategoryController::class, 'name'])->name('categories.name'); + Route::get('products/{id}/name', [Controllers\ProductController::class, 'name'])->name('products.name'); Route::resource('products', Controllers\ProductController::class); Route::resource('currencies', Controllers\CurrencyController::class); diff --git a/beike/Repositories/ProductRepo.php b/beike/Repositories/ProductRepo.php index 60fa66ad..d8063ab0 100644 --- a/beike/Repositories/ProductRepo.php +++ b/beike/Repositories/ProductRepo.php @@ -109,4 +109,19 @@ class ProductRepo } return $results; } + + /** + * 获取商品名称 + * @param $id + * @return \Illuminate\Database\Eloquent\HigherOrderBuilderProxy|mixed|string + */ + public static function getName($id) + { + $product = Product::query()->find($id); + + if ($product) { + return $product->description->name; + } + return ''; + } }