В вашей таблице продуктов создайте поле code
примерно так и определите его как уникальное, и во время создания продукта вставьте в него случайную строку, а затем укажите это поле в вашей модели Product
в качестве ключа маршрута, подобного этому.
Модель продукта
class Product extends Model {
public function getRouteKeyName()
{
return 'code';
}
}
Теперь определите в своем маршруте show/{product}
;
Route::get('show/{product}', 'ProductController@show');
Контроллер
class ProductController extends Controller {
public function show(Request $request, App\Product $product){
dd($product)
}
}
Подробнее см. Неявная привязка in https://laravel.com/docs/5.6/routing#implicit-binding