我有一个事件列表。用户可以标记其可用性,从而在可用性表中根据其用户 ID、事件 ID 和作为布尔值的可用性创建一个条目。
我在事件显示视图上有两个链接(不是表单按钮(,一个用于可用(真(,一个用于不可用(假(,但卡在后端。我需要三个操作吗?
- 将可用性的新记录存储为真
- 将可用性的新记录存储为 false
- 更新(修补(现有记录的真或假
作为最佳实践,您将如何做到这一点?我觉得一定有一种比这更简单/更干净的方法。
我也坚持使用路线,因为我习惯于根据表单操作数据库。我假设它将是以下作为示例:
Route::get('/events/{event}/unavailable','EventAvailabilityController@unavailable');
如何获取模型的事件 ID?
我会做一个补丁路由,这样我就可以把它设置为 true 或 false(1 个端点(。
Route::patch('/events/{event}/status','EventAvailabilityController@changeStatus');
如果要获取模型的 ID,可以执行以下操作:
public function changeStatus(Request $request, EventModel $eventModel) {
$request->validate([
'status' => 'boolean|required'
]);
$event->status = $request->status;
$event->save();
return response()->json(['event' => $event]);
}
注意:将事件EventModel
替换为模型,changeStatus
替换为函数。