首页也就是商品列表页面变成空白了
如题,我昨天把商品模块这一部分学完,代码和页面效果都是正常的。但是,今天打开却发现首页变成了空白页面,没有任何报错,就是一个空白页面,如图:
检查了代码,没有发现错误。而且,只有首页也就是商品列表页面是这样的,其他的,商品详情页面,收货地址页面,商品收藏列表等都是正常的。
系统: Windows10,环境: homestead。
现在不知道该如何排查了,请 @leo 指点一下。下面再贴一些代码:
商品列表,index 方法:
public function index(Request $request)
{
// 构建一个查询构造器
$query = Product::query()->where('on_sale', true);
// 判断是否提交了 search 参数,如果有就赋值给 $search
// search 参数用来模糊搜索商品
if ($search = $request->input('search', '')) {
$like = '%' . $search . '%';
// 模糊搜索商品标题、商品详情、sku 标题、sku 描述
$query->where(function ($query) use ($like) {
$query->where('title', 'like', $like)
->orWhere('description', 'like', $like)
->orWhereHas('skus', function ($query) use ($like) {
$query->where('title', 'like', $like)
->orWhere('description', 'like', $like);
});
});
}
// 是否提交了 order 参数
if ($order = $request->input('order', '')) {
// 是否已 _asc 或 _desc 结尾
if (preg_match('/^(.+)_(asc|desc)$/', $order, $m)) {
// 如果字符串的开头是以下这 3 个字符串之一
if (in_array($m[1], ['price', 'sold_count', 'rating'])) {
// 根据传入的值来构造排序参数
$query->orderBy($m[1], $m[2]);
}
}
}
$products = $query->paginate(16);
return view('products.index', [
'products' => $products,
'filters' => [
'search' => $search,
'order' => $order,
],
]);
}
路由代码:
Route::redirect('/', '/products')->name('root');
// 商品列表
Route::get('/products', 'ProductsController@index')->name('products.index');
// 商品详情
Route::get('/products/{product}', 'ProductsController@show')
->name('products.show')
->where(['product' => '[0-9]+']);
推荐文章: