fixed search product
This commit is contained in:
parent
a6801ef182
commit
9d7ff6e116
|
|
@ -13,7 +13,7 @@ namespace Beike\Repositories;
|
|||
|
||||
use Beike\Models\Product;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Beike\Shop\Http\Resources\ProductList;
|
||||
use Beike\Shop\Http\Resources\ProductSimple;
|
||||
use Illuminate\Database\Eloquent\Collection;
|
||||
use Illuminate\Database\Eloquent\HigherOrderBuilderProxy;
|
||||
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||
|
|
@ -43,8 +43,7 @@ class ProductRepo
|
|||
{
|
||||
$builder = self::getBuilder(['category_id' => $categoryId]);
|
||||
$products = $builder->with('inCurrentWishlist')->get();
|
||||
$items = ProductList::collection($products);
|
||||
return $items;
|
||||
return ProductSimple::collection($products);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -57,7 +56,7 @@ class ProductRepo
|
|||
{
|
||||
$builder = self::getBuilder(['product_ids' => $productIds])->whereHas('master_sku');
|
||||
$products = $builder->with('inCurrentWishlist')->get();
|
||||
return ProductList::collection($products);
|
||||
return ProductSimple::collection($products);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
|
||||
namespace Beike\Shop\Http\Controllers;
|
||||
|
||||
use Beike\Repositories\BrandRepo;
|
||||
use Beike\Shop\Http\Resources\ProductList;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\BrandRepo;
|
||||
use Beike\Shop\Http\Resources\ProductSimple;
|
||||
|
||||
class BrandController extends Controller
|
||||
{
|
||||
|
|
@ -23,7 +23,7 @@ class BrandController extends Controller
|
|||
$products = BrandRepo::find($id)->products()->with('inCurrentWishlist')->paginate(20);
|
||||
|
||||
$data = [
|
||||
'products' => ProductList::collection($products)->jsonSerialize(),
|
||||
'products' => ProductSimple::collection($products)->jsonSerialize(),
|
||||
];
|
||||
|
||||
return view('brand/info', $data);
|
||||
|
|
|
|||
|
|
@ -3,10 +3,9 @@
|
|||
namespace Beike\Shop\Http\Controllers;
|
||||
|
||||
use Beike\Models\Category;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Shop\Http\Resources\ProductList;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Repositories\CategoryRepo;
|
||||
|
||||
class CategoryController extends Controller
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3,20 +3,40 @@
|
|||
namespace Beike\Shop\Http\Controllers;
|
||||
|
||||
use Beike\Models\Product;
|
||||
use Beike\Shop\Http\Resources\ProductSimple;
|
||||
use Illuminate\Http\Request;
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Shop\Http\Resources\ProductDetail;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||
|
||||
class ProductController extends Controller
|
||||
{
|
||||
/**
|
||||
* 产品详情页
|
||||
* @param Request $request
|
||||
* @param Product $product
|
||||
* @return mixed
|
||||
*/
|
||||
public function show(Request $request, Product $product)
|
||||
{
|
||||
$product = ProductRepo::getProductDetail($product);
|
||||
|
||||
$data = [
|
||||
'product' => (new ProductDetail($product))->jsonSerialize(),
|
||||
];
|
||||
|
||||
return view('product', $data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过关键字搜索产品
|
||||
*
|
||||
* @param Request $request
|
||||
* @return AnonymousResourceCollection
|
||||
*/
|
||||
public function search(Request $request): AnonymousResourceCollection
|
||||
{
|
||||
$keyword = $request->get('keyword');
|
||||
$products = ProductRepo::getBuilder(['name' => $keyword])->where('active', true)->paginate();
|
||||
return ProductSimple::collection($products);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
/**
|
||||
* ProductList.php
|
||||
* ProductSimple.php
|
||||
*
|
||||
* @copyright 2022 opencart.cn - All Rights Reserved
|
||||
* @link http://www.guangdawangluo.com
|
||||
|
|
@ -14,7 +14,7 @@ namespace Beike\Shop\Http\Resources;
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
|
||||
class ProductList extends JsonResource
|
||||
class ProductSimple extends JsonResource
|
||||
{
|
||||
/**
|
||||
* 图片列表页Item
|
||||
|
|
@ -61,6 +61,7 @@ Route::prefix('/')
|
|||
|
||||
Route::get('pages/{page}', [PageController::class, 'show'])->name('pages.show');
|
||||
|
||||
Route::get('products/search', [ProductController::class, 'search'])->name('products.search');
|
||||
Route::get('products/{product}', [ProductController::class, 'show'])->name('products.show');
|
||||
|
||||
Route::get('register', [RegisterController::class, 'index'])->name('register.index');
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
namespace Plugin\LatestProducts\Controllers;
|
||||
|
||||
use Beike\Repositories\ProductRepo;
|
||||
use Beike\Shop\Http\Resources\ProductList;
|
||||
use Beike\Shop\Http\Controllers\Controller;
|
||||
use Beike\Shop\Http\Resources\ProductSimple;
|
||||
|
||||
class MenusController extends Controller
|
||||
{
|
||||
|
|
@ -31,7 +31,7 @@ class MenusController extends Controller
|
|||
$products = ProductRepo::getBuilder()->whereHas('master_sku')->with('inCurrentWishlist')->orderByDesc('updated_at')->paginate(40);
|
||||
$data = [
|
||||
'products' => $products,
|
||||
'items' => ProductList::collection($products)->jsonSerialize(),
|
||||
'items' => ProductSimple::collection($products)->jsonSerialize(),
|
||||
];
|
||||
return view("LatestProducts::latest_products", $data);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue