【发布时间】:2026-01-30 05:20:04
【问题描述】:
我在使用 Laravel (v8) 更新 1 条记录时遇到问题。下面是我的代码。
在控制器中
public function update(Request $request, Category $category)
{
$input = $request->all();
$validator = Validator::make($input, [
'name' => 'required|unique:categories',
], [
'name.required' => 'Name is required'
]);
if ($validator->fails()) {
return $this->sendError($validator->errors());
}
$category->name = $input['name'];
$category->description = $input['description'];
$category->status = $input['status'];
$category->save();
return $this->sendResponse(new CategoryResource($category), 'Success.');
}
在资源中
class CategoryResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
'status' => $this->status,
];
}
}
在模型中
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
use HasFactory;
protected $fillable = [
'id',
'name',
'description',
'status'
];
protected $primaryKey = 'id';
public $incrementing = false;
}
当我得到列表时 enter image description here
但是当我更新时: enter image description here
希望能得到您的帮助。非常感谢
【问题讨论】:
-
您好,您可以删除屏幕截图并使用纯文本格式来增加问题的可读性