我在使用Illuminate\Http\Request
类检索表单值时遇到麻烦。
我有一个可以创建产品的端点,而另一个可以像这样设置更新
的端点Route::post('products', 'ProductController@store');
Route::put('products/{product}', 'ProductController@update');
store
中的update
和ProductController
方法是
public function store(Request $request)
{
// validate inputs
$validator = Validator::make($request->all(), [
'name' => 'required',
'category' => 'required',
'status' => 'required',
'price' => 'required',
'image' => 'required|image|mimes:jpeg',
'interest' => 'required'
]);
// return 401 response if validation fails
if ($validator->fails()) {
return response()->json([$validator->errors()], 401);
}
// create & store the product
if ($product = Product::create([
'name' => $request->name,
'category' => $request->category,
'status' => $request->status,
'price' => $request->price,
'interest' => $request->interest,
])) {
// store the product image
$file = $request->file('image');
$destinationPath = "public/images/products";
$filename = 'pramopro_' . $product->name . '_' . $product->id . '.' . $file->extension();
Storage::putFileAs($destinationPath, $file, $filename);
ProductImage::create([
'product_id' => $product->id,
'name' => $filename
]);
}
// return new product
return new ProductResource($product);
}
public function update(Request $request, Product $product)
{
// dd($request);
// validate inputs
$validator = Validator::make($request->all(), [
'name' => 'required',
'category' => 'required',
'status' => 'required',
'price' => 'required',
'image' => 'required|image|mimes:jpeg',
'interest' => 'required'
]);
// return 401 response if validation fails
if ($validator->fails()) {
return response()->json([$validator->errors()], 401);
}
// update this product
if ($product) {
$product->update($request->all());
return new ProductResource($product);
} else {
return response()->json(["error" => "Not found"], 404);
}
}
现在,当我在邮递员中测试端点时,可以成功创建新的产品记录。但是,如果我尝试更新产品,即使填写了所有必填字段,也会出现401 unauthorized
错误。 dd($request)
返回null,但dd($product)
返回预期的产品。
也许我一直在努力地研究它,所以错过了一些东西。我在做什么错了?
答案 0 :(得分:0)
这就是我认为$request
返回null的原因
希望有帮助!