我在Laravel 5.5中的类别控制器中返回一个API响应,就像这样......
public function get(Request $request) {
$categories = Category::all();
return Response::json(array(
'error' => false,
'categories_data' => $categories,
));
}
现在我也想尝试返回一个特定的类别,我怎么能这样做,因为我已经在这个控制器中使用了get请求?
我是否需要创建新路线,或者我是否可以修改此路线以仅在提供ID时返回特定类别,否则返回所有路径?
答案 0 :(得分:0)
最好的情况是创建一个新路由,但如果没有提供参数,您也可以更改当前路径以检索所有模型。你首先要选择你将使用的方法。要将其拆分为多个调用,您可以看到Resource controllers并使用一种方法,您可以关注Optional Route Parameters
答案 1 :(得分:0)
如果你要创建另一条路线会更清洁。例如
然后在同一个控制器上添加方法
public function show($id) {
$categories = Category::find($id);
return Response::json(array(
'error' => false,
'categories_data' => $categories,
));
}
但如果你仍想在一条路线上做,你可以试试这样的事情:
试试这个:
public function get(Request $request) {
$id = $request->get('id');
$categories = $id ? Category::find($id) : Category::all();
return Response::json(array(
'error' => false,
'categories_data' => $categories,
));
}