Laravel/Lumen API 打印记录数组
Laravel/Lumen API print array of records
是否可以制作一个 API 来打印这样的数据库记录: http://localhost:8000/products/?compare=1-2-N...(1,2,N) product id's.
我只成功打印了一条记录。我的路线:
$router->get('products/{id}','ProductController@getProduct');
和我的控制器:
public function getProduct($id){
$tlt_products = DB::table('tlt_products')->find($id);
$tlt_products_features_id = DB::table('tlt_product_features')->where('product_id', $id)->get()->pluck('feature_id');
$tlt_features = DB::table('tlt_features')->whereIn('id', $tlt_products_features_id)->get()->groupBy('feature_group');
$tlt_feature_groups = DB::table('tlt_features')->groupBy('feature_group')->get()->toArray();
return response()->json([
'product' => $tlt_products,
'product_features' => $tlt_features,
'feature_groups' => $tlt_feature_groups
]);
}
你能帮我使用这样的路由打印记录数组吗:
http://localhost:8000/products/?compare=1-2-3...-N
是的,这是可能的。您可以尝试通过 get 传递一个模式并解析它以检索您需要的信息,但为什么不使用一种简单的方法来做到这一点,例如:
$router->get('products/{begin}/{end}','ProductController@getProduct');
一切你想要的,只要设计好,在你的控制器中,你就有了
public function getProduct($begin,$end){
...
}
我终于设法使用 $tail = $request->tail;
方法解决了这个问题,并在我的表单操作中添加了这样的请求 ID
@php
$tail = basename(request()->path());
$text = (string)$tail;
@endphp
<form action="/product-compare/{{$text}}-{{ $product['id'] }}" method="post">
是否可以制作一个 API 来打印这样的数据库记录: http://localhost:8000/products/?compare=1-2-N...(1,2,N) product id's.
我只成功打印了一条记录。我的路线:
$router->get('products/{id}','ProductController@getProduct');
和我的控制器:
public function getProduct($id){
$tlt_products = DB::table('tlt_products')->find($id);
$tlt_products_features_id = DB::table('tlt_product_features')->where('product_id', $id)->get()->pluck('feature_id');
$tlt_features = DB::table('tlt_features')->whereIn('id', $tlt_products_features_id)->get()->groupBy('feature_group');
$tlt_feature_groups = DB::table('tlt_features')->groupBy('feature_group')->get()->toArray();
return response()->json([
'product' => $tlt_products,
'product_features' => $tlt_features,
'feature_groups' => $tlt_feature_groups
]);
}
你能帮我使用这样的路由打印记录数组吗:
http://localhost:8000/products/?compare=1-2-3...-N
是的,这是可能的。您可以尝试通过 get 传递一个模式并解析它以检索您需要的信息,但为什么不使用一种简单的方法来做到这一点,例如:
$router->get('products/{begin}/{end}','ProductController@getProduct');
一切你想要的,只要设计好,在你的控制器中,你就有了
public function getProduct($begin,$end){
...
}
我终于设法使用 $tail = $request->tail;
方法解决了这个问题,并在我的表单操作中添加了这样的请求 ID
@php
$tail = basename(request()->path());
$text = (string)$tail;
@endphp
<form action="/product-compare/{{$text}}-{{ $product['id'] }}" method="post">