【发布时间】:2021-06-21 15:38:34
【问题描述】:
我正在使用 laravel 8 并构建 API。
我有一个 CategoryController 并在做 CRUD。在我的 store 方法中,当我输入一个不存在的 ID 时,我想显示一条消息:category not found
我不知道如何把它放在方法中。
这是我的类别控制器和我的更新方法:
public function update(Request $request, Category $category)
{
$data = $request->all();
$validator = Validator::make($data, [
'title' => 'required|max:100|unique:categories',
'description' => 'required|max:500',
]);
if ($validator->fails()) {
return response(['error' => $validator->errors(), 'Validation Error']);
}
$category->title = $data['title'];
$category->description = $data['description'];
$category->save();
return response()->json([
"success" => true,
"message" => "با موفقیت ویرایش گردید",
"data" => $category
]);
}
【问题讨论】:
-
你的更新路线是什么?
-
在邮递员中我进入这条路线:
http://localhost:8000/api/subcategories/100?parent_id=104&title=examplr&description=example -
在我的 api.php 我有资源:
Route::apiResource('categories' , CategoryController::class); -
我想了解类别字段。无论如何,如果它是“category_id”(POST/PUT 请求中的字段名称(实际上在 REST 应用程序中,您需要在邮递员中运行 PUT 请求以进行更新)),那么您可以将“Category $category”替换为“int $category_id”在您的方法的第二个参数中。之后,您还需要在验证后在您的方法中自己查找类别。像这样: "$category = Category::find($category_id); if (empty($category_id)) { return response()->json(['success' => false, 'message' => "类别未找到!"], 404); }"
-
你在哪里输入ID?