我正在尝试导航到“ productdetail”页面,但它给了我404。确实存在通往productdetail的路线。我正在尝试从商店到产品细节提供产品信息
我的控制器:
<?php
namespace App\Http\Controllers;
use DB;
use Illuminate\Http\Request;
use App\Product;
class ProductsController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function shopindex()
{
$productsOTs = DB::select(DB::raw("SELECT * FROM wiz.productimages WHERE Afkorting = 'PPI' LIMIT 83, 3"));
return view('shop', compact('productsOTs'));
}
public function productdetail(Product $Product)
{
return view('Products.productdetail', compact('productsOT'));
}
}
我的商店页面链接到productdetail:
@foreach ($productsOTs as $productsOT)
<div class="card ot-product" id="heightwidthfix">
<img class="card-img-top cardstop" src="{{$productsOT->imagelink}}" alt="Card image cap" id="myshopmodal1" height="400px" width="300px">
<div class="card-body">
<h5 class="card-title">{{$productsOT->Productomschrijving}}</h5>
<p class="card-text">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
</div>
<div class="card-body">
<a href="/shop/productdetail/{{ $productsOT->Productcode }}" class="card-link">Bekijk hier het product</a>
</div>
</div>
@endforeach
我的路线:
Route::get('/shop', ['middleware' => 'auth', 'uses' => 'ProductsController@shopindex']);
Route::get('/shop/productdetail/{product}', ['middleware' => 'auth', 'uses' => 'ProductsController@productdetail']);
我已经为这个问题苦苦挣扎了一段时间,希望有人能帮助我。
答案 0 :(得分:0)
请运行此命令
php artisan route:cache
还有
php artisan cache:clear
答案 1 :(得分:0)
为什么不尝试为您的路线命名
Route::get('/shop/productdetail/{product}', ['middleware' => 'auth', 'uses' => 'ProductsController@productdetail'])->name('show-product');
然后通过其名称进行调用:
<a href="{{route('show-product',$productsOT->Productcode) }}" class="card-link">Bekijk hier het product</a>
这可能会解决您的问题,否则问题就不在路由上了。
答案 2 :(得分:0)
请使用以下方式
Route::middleware(['auth'])->get('/shop/productdetail/{product}', 'ProductsController@productdetail');
我通常更喜欢对中间件进行分组,以便克服通过以下方式反复编写中间件的问题
Route::group(['middleware' => 'auth'], function () {
/** Dashboard */
Route::match(['get', 'post'], '/dashboard', 'AdminController@dashboard');
/**Customer */
Route::get('/customers', 'AdminController@customerListing');
});
答案 3 :(得分:0)
更改此行:
<a href="/shop/productdetail/{{ $productsOT->Productcode }}" class="card-link">Bekijk hier het product</a>
进入
<a href="{{ url('shop/productdetail/'.$productsOT->Productcode) }}" class="card-link">Bekijk hier het product</a>
这是个小错误。更改此设置,希望对您有所帮助。谢谢
答案 4 :(得分:0)
我认为您通过的route参数存在问题,不适合通过
Description: The process was terminated due to an unhandled exception.
答案 5 :(得分:0)
.htaccess出现问题。 我上传了,但是不知何故! 我遇到了其他问题,.htaccess文件的内容都记录在这里: https://stackoverflow.com/a/64828062/1938507