将活动的用户可用性编码为布尔值(Laravel)

时间:2019-02-11 20:40:24

标签: php laravel

我有一个活动列表。用户可以标记其可用性,从而将根据其用户ID,事件ID和其可用性(布尔值)在“可用性”表中创建一个条目。

我在事件显示视图上有两个链接(不是表单按钮),一个链接为可用(true),一个链接为不可用(false),但被后端卡住了。我需要三个动作吗?

  1. 将新记录存储为真实
  2. 存储新记录以将其设置为false
  3. 将现有记录更新(为真)为假

您将如何作为最佳实践?我觉得必须有比这更容易/更清洁的方法。

由于我习惯于基于表单来操作数据库,因此我也坚持使用路由。我以下面为例:

Route::get('/events/{event}/unavailable','EventAvailabilityController@unavailable');

如何将事件ID获取到模型?

1 个答案:

答案 0 :(得分:0)

我会执行补丁路由,因此可以将其设置为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用函数替换。