使用 Repository 模式编写 REST 的函数 update() 出现问题 API
Problem with the function update() using Repository pattern to write REST API
我有一个问题,所有使用存储库模式的创建-读取-删除都很好,但更新功能是错误的。我仍然有数据,但信息没有更新。
这是我在 EventController 中的代码
public function update(EventRequest $request, $id)
{
$events = $this->repository->update($request->all());
return $this->sendResponse($events->toArray(), 'Successfully updated the Event!!');
}
这是我使用 DI 从存储库注入,这是 EventRepository.php
public function update($id, array $array) {
$events = $this->model->findOrFail($id);
$events->update($array);
return $events;
}
当我使用 dd($array) 和结果 returns [] 时没有任何东西。谁能帮我。我在这里面写错了吗?或者我写错了 Request
public function rules()
{
// $id = $this->events ? ',' . $this->events->id : '';
return $rules = [
'event_title' => 'required|max:255',
'event_type_id' => 'required|integer|between:1,3',
'from_date' => 'required|date_format:Y-m-d H:i:s',
'to_date' => 'date_format:Y-m-d H:i:s|nullable',
'is_recurring' => 'boolean|required',
'remarks' => 'nullable',
];
}
此方法有两个参数:
public function update($id, array $array) {
但是,你不是这样称呼它的:
$this->repository->update($request->all());
我接受$request->all()
给你一个数组,所以先传ID
$this->repository->update($id, $request->all());
我有一个问题,所有使用存储库模式的创建-读取-删除都很好,但更新功能是错误的。我仍然有数据,但信息没有更新。
这是我在 EventController 中的代码
public function update(EventRequest $request, $id)
{
$events = $this->repository->update($request->all());
return $this->sendResponse($events->toArray(), 'Successfully updated the Event!!');
}
这是我使用 DI 从存储库注入,这是 EventRepository.php
public function update($id, array $array) {
$events = $this->model->findOrFail($id);
$events->update($array);
return $events;
}
当我使用 dd($array) 和结果 returns [] 时没有任何东西。谁能帮我。我在这里面写错了吗?或者我写错了 Request
public function rules()
{
// $id = $this->events ? ',' . $this->events->id : '';
return $rules = [
'event_title' => 'required|max:255',
'event_type_id' => 'required|integer|between:1,3',
'from_date' => 'required|date_format:Y-m-d H:i:s',
'to_date' => 'date_format:Y-m-d H:i:s|nullable',
'is_recurring' => 'boolean|required',
'remarks' => 'nullable',
];
}
此方法有两个参数:
public function update($id, array $array) {
但是,你不是这样称呼它的:
$this->repository->update($request->all());
我接受$request->all()
给你一个数组,所以先传ID
$this->repository->update($id, $request->all());