diff --git a/beike/Admin/Http/Controllers/ManufacturerController.php b/beike/Admin/Http/Controllers/BrandController.php similarity index 55% rename from beike/Admin/Http/Controllers/ManufacturerController.php rename to beike/Admin/Http/Controllers/BrandController.php index 0698ee23..bd67f9db 100644 --- a/beike/Admin/Http/Controllers/ManufacturerController.php +++ b/beike/Admin/Http/Controllers/BrandController.php @@ -1,6 +1,6 @@ only('name', 'first', 'status')); + $brands = BrandRepo::list($request->only('name', 'first', 'status')); $data = [ - 'manufacturers' => $manufacturers, + 'brands' => $brands, ]; - return view('admin::pages.manufacturers.index', $data); + return view('admin::pages.brands.index', $data); } public function store(Request $request) { - $manufacturer = ManufacturerRepo::create($request->all()); - return json_success("创建成功", $manufacturer); + $brand = BrandRepo::create($request->all()); + return json_success("创建成功", $brand); } public function update(Request $request, int $customerId, int $id) { - $manufacturer = ManufacturerRepo::update($id, $request->all()); + $brand = BrandRepo::update($id, $request->all()); - return json_success("成功修改", $manufacturer); + return json_success("成功修改", $brand); } public function destroy(Request $request, int $customerId, int $addressId) diff --git a/beike/Admin/Routes/admin.php b/beike/Admin/Routes/admin.php index 8d76f91c..f50940df 100644 --- a/beike/Admin/Routes/admin.php +++ b/beike/Admin/Routes/admin.php @@ -38,7 +38,7 @@ Route::prefix($adminName) Route::post('design/builder/preview', [Controllers\DesignController::class, 'preview'])->name('design.module.preview'); Route::resource('files', Controllers\FileController::class); - Route::resource('manufacturers', Controllers\ManufacturerController::class); + Route::resource('brands', Controllers\BrandController::class); Route::get('file_manager', [Controllers\FileManagerController::class, 'index'])->name('file_manager.index'); Route::get('file_manager/files', [Controllers\FileManagerController::class, 'getFiles'])->name('file_manager.get_files'); diff --git a/beike/Models/Manufacturer.php b/beike/Models/Brand.php similarity index 80% rename from beike/Models/Manufacturer.php rename to beike/Models/Brand.php index 96e4f008..50d4024b 100644 --- a/beike/Models/Manufacturer.php +++ b/beike/Models/Brand.php @@ -1,6 +1,6 @@ hasMany(Zone::class); } + + public function products() :HasMany + { + return $this->hasMany(Product::Class); + } } diff --git a/beike/Models/Product.php b/beike/Models/Product.php index 9ad930aa..bb4402d0 100644 --- a/beike/Models/Product.php +++ b/beike/Models/Product.php @@ -42,6 +42,11 @@ class Product extends Base return $this->hasOne(ProductSku::Class)->where('is_default', 1); } + public function manufacturer() + { + return $this->hasOne(Brand::Class, 'id', 'manufacturer_id'); + } + public function getPriceFormattedAttribute(): string { return '$' . $this->price; diff --git a/beike/Repositories/ManufacturerRepo.php b/beike/Repositories/BrandRepo.php similarity index 63% rename from beike/Repositories/ManufacturerRepo.php rename to beike/Repositories/BrandRepo.php index 9ae49485..5d7485ef 100644 --- a/beike/Repositories/ManufacturerRepo.php +++ b/beike/Repositories/BrandRepo.php @@ -1,6 +1,6 @@ create($data); - return $manufacturer; + $brand = Brand::query()->create($data); + return $brand; } /** - * @param $manufacturer + * @param $brand * @param $data * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|mixed * @throws \Exception */ - public static function update($manufacturer, $data) + public static function update($brand, $data) { - if (!$manufacturer instanceof Manufacturer) { - $manufacturer = Manufacturer::query()->find($manufacturer); + if (!$brand instanceof Brand) { + $brand = Brand::query()->find($brand); } - if (!$manufacturer) { - throw new \Exception("品牌id {$manufacturer} 不存在"); + if (!$brand) { + throw new \Exception("品牌id {$brand} 不存在"); } - $manufacturer->update($data); - return $manufacturer; + $brand->update($data); + return $brand; } /** @@ -50,7 +50,7 @@ class ManufacturerRepo */ public static function find($id) { - return Manufacturer::query()->find($id); + return Brand::query()->find($id); } /** @@ -59,9 +59,9 @@ class ManufacturerRepo */ public static function delete($id) { - $manufacturer = Manufacturer::query()->find($id); - if ($manufacturer) { - $manufacturer->delete(); + $brand = Brand::query()->find($id); + if ($brand) { + $brand->delete(); } } @@ -71,7 +71,7 @@ class ManufacturerRepo */ public static function list($data) { - $builder = Manufacturer::query(); + $builder = Brand::query(); if (isset($data['name'])) { $builder->where('name', 'like', "%{$data['name']}%"); @@ -88,11 +88,11 @@ class ManufacturerRepo public static function listGroupByFirst() { - $manufacturers = Manufacturer::query()->where('status', true)->get(); + $brands = Brand::query()->where('status', true)->get(); $results = []; - foreach ($manufacturers as $manufacturer) { - $results[$manufacturer->first][] = $manufacturer; + foreach ($brands as $brand) { + $results[$brand->first][] = $brand; } return $results; diff --git a/database/migrations/2022_07_27_123325_create_manufacturers.php b/database/migrations/2022_07_27_123325_create_manufacturers.php index 37db291a..cb9816d7 100644 --- a/database/migrations/2022_07_27_123325_create_manufacturers.php +++ b/database/migrations/2022_07_27_123325_create_manufacturers.php @@ -13,7 +13,7 @@ class CreateManufacturers extends Migration */ public function up() { - Schema::create('manufacturers', function (Blueprint $table) { + Schema::create('brands', function (Blueprint $table) { $table->id(); $table->string('name'); $table->char('first'); @@ -23,7 +23,7 @@ class CreateManufacturers extends Migration $table->timestamps(); }); Schema::table('products', function (Blueprint $table) { - $table->unsignedInteger('manufacturer_id')->after('id')->index(); + $table->unsignedInteger('brand_id')->after('id')->index(); }); } @@ -34,9 +34,9 @@ class CreateManufacturers extends Migration */ public function down() { - Schema::dropIfExists('manufacturers'); + Schema::dropIfExists('brands'); Schema::table('products', function (Blueprint $table) { - $table->dropColumn('manufacturer_id'); + $table->dropColumn('brand_id'); }); } } diff --git a/resources/beike/admin/views/pages/manufacturers/index.blade.php b/resources/beike/admin/views/pages/brands/index.blade.php similarity index 62% rename from resources/beike/admin/views/pages/manufacturers/index.blade.php rename to resources/beike/admin/views/pages/brands/index.blade.php index 5dadfeda..67b8f23e 100644 --- a/resources/beike/admin/views/pages/manufacturers/index.blade.php +++ b/resources/beike/admin/views/pages/brands/index.blade.php @@ -3,7 +3,7 @@ @section('title', '品牌管理') @section('content') -
+
创建 @@ -20,16 +20,16 @@ - @foreach ($manufacturers as $manufacturer) + @foreach ($brands as $brand) - {{ $manufacturer['id'] }} - {{ $manufacturer['name'] }} - {{ $manufacturer['logo'] }} - {{ $manufacturer['sort_order'] }} - {{ $manufacturer['status'] }} + {{ $brand['id'] }} + {{ $brand['name'] }} + {{ $brand['logo'] }} + {{ $brand['sort_order'] }} + {{ $brand['status'] }} 编辑 + href="{{ admin_route('brands.edit', [$brand['id']]) }}">编辑 @endforeach