获取用户从推荐人 url link 重定向到产品详细信息页面

Get user redirect from referrer url link to product detail page

我正在研究推荐系统,但我不知道如何做。当为产品生成推荐人 link 时,我想在任何人点击该产品时将用户重定向到该产品 link 示例:http://127.0.0.1:8000/affiliate/referrer_id/product_id 这个是示例引用 link.

我生成了这个link

http://127.0.0.1:8000/affiliate/1/9

正如我们在 url 末尾看到的,产品 ID 存在。这个idlink的商品详情页是这个

http://127.0.0.1:8000/product/9

我的问题是当有人点击推荐人 link 如何将用户重定向到该产品详情 link?

我试过了,但我不确定这是否正确。 在 web.php 我声明了这样的路线

 // Affiliate
Route::get('http://127.0.0.1:8000/affiliate/{referrer_id}/{product_id}', 'UsersController@referrerRedirect');

UsersController referrerRedirect 函数

public function referrerRedirect($product_id, $referrer_id)
{
    return view();
}

谢谢!

假设你有一个产品路线和控制器:有很多方法可以设置路线(例如资源控制器等)这只是一个例子

Route::get('products/{product_id}', 'ProductController@get')->name('product');

public function get($product_id)
{
    $product = Product::findOrFail($product_id);
    return view('your_product_view', ['product' => $product]);
}

这个想法是你 return 重定向到产品路线 ->name() 并传递参数。

public function referrerRedirect($product_id, $referrer_id)
{
//do referrel things with the $referrer_id
   return redirect()->route('product', [$product_id]);

//or it may be
return redirect()->route('product', ['product' => $product_id]);
}

web.php

// Affiliate
Route::get('affiliate/{product_id}/{referrer_id}', 'UsersController@referrerRedirect');

UsersController referrerRedirect 函数

    public function referrerRedirect($product_id, $referrer_id)
{
    // right a query to fetch data from database product table match with $product_id 
    
    $product = Product::where('id', $product_id)->get();

    return view('products.details')->with(compact('product'));
}