Laravel 5.5 - 显示API响应中的特定类别

时间:2018-02-11 15:31:10

标签: laravel laravel-5

我在Laravel 5.5中的类别控制器中返回一个API响应,就像这样......

public function get(Request $request) {

   $categories = Category::all();

   return Response::json(array(
    'error' => false,
    'categories_data' => $categories,
  ));

}

现在我也想尝试返回一个特定的类别,我怎么能这样做,因为我已经在这个控制器中使用了get请求?

我是否需要创建新路线,或者我是否可以修改此路线以仅在提供ID时返回特定类别,否则返回所有路径?

2 个答案:

答案 0 :(得分:0)

最好的情况是创建一个新路由,但如果没有提供参数,您也可以更改当前路径以检索所有模型。你首先要选择你将使用的方法。要将其拆分为多个调用,您可以看到Resource controllers并使用一种方法,您可以关注Optional Route Parameters

答案 1 :(得分:0)

如果你要创建另一条路线会更清洁。例如

  • / categories - >你有
  • / categories / {id} - >这个你需要创建

然后在同一个控制器上添加方法

public function show($id) {

    $categories = Category::find($id);

    return Response::json(array(
        'error' => false,
        'categories_data' => $categories,
    ));
}

但如果你仍想在一条路线上做,你可以试试这样的事情:

  • / categories - >将列出所有类别
  • / categories?id = 2 - >会给你ID 2的类别

试试这个:

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,
    ));
}