我的view.blade.php代码
<a href="{{ url('p_grid') }}/{{($cat_id)}}/{{$row->sub_id}}">
我的路线代码
Route::resource('p_grid', 'BasicController@p_grid');
我的BasicController代码在这里
public function p_grid(Request $request, $id)
{
echo "success";
if ($id == 1) {
$r = DB::table('sub_category')
->select('*')
->where('cat_id', $id)
->where('sub_status', '1')
->orderBy('sub_id', 'asc')
->get();
$cat_name = DB::table('category')
->where('cat_id', $id)
->get();
$count = DB::table('products')
->where('sub_id', $id)
->count();
return view('buy-and-sell/p_grid', compact('r','cat_name','count','id'));
}
点击锚标记以显示此错误
答案 0 :(得分:0)
您网址中的额外参数会导致404.Laravel不希望该网址有多个ID,因为您使用的是资源丰富的路由。您需要附加routes.php
文件才能解决此问题:
Route::resource('p_grid', 'BasicController@p_grid');
Route::get('p_grid/{category}/{subcategory}', [
'as' => 'category-with-subcategory',
'uses' => 'BasicController@gridWithSubcategory',
]);
并确保gridWithSubcategory
文件中有BasicController.php
方法。
那就是说,我建议你在宣布Route::resource()
时更好地理解Laravel正在做什么,因为我会质疑你真正需要多少。它实际上只是注册普通路线的简写(请参阅here了解完整列表和规范),例如index
,create
,show
,{{1}如果你想看到你的应用实际拥有的路由,在被Laravel解析后(包括你destroy
以外的路由,可能已经被第三方包注册),输入routes.php
在CLI上。
最后,我强烈建议您在整个应用中使用路由名称,以获得更好的清晰度和便携性。上面的php artisan route:list
命令会为您提供路由名称,因此您可以在视图中使用以下内容:
artisan
这样,如果您想改变路线的足迹,视图就不会中断(只要您保持参数要求)。
答案 1 :(得分:0)
我的view.blade.php代码
<a href="{{ url('p_grid', ['category' => $cat_id, 'subcategory' => $row->sub_id]) }}">
我的路线代码
Route::get('p_grid/{category}/{subcategory}', [
'as' => 'category-with-subcategory',
'uses' => 'BasicController@p_grid'
]);
我的BasicController代码在这里
public function p_grid(Request $request, $id)
{
echo "success";
}
成功上传图片和完成工作