laravel - 如果用户在 Laravel 中注册事件,如何执行功能从数据透视表中扣除可用性数量
问题描述
我有 3 张桌子user
event
和event_user
我正在创建一个具有配额限制的事件注册,一旦配额已满,其他用户将无法注册该特定事件。但问题是我为此创建了 MM 关系。并且event_user
只存储user_id
and event_id
。一旦用户成功注册到活动中,我如何访问event
表格并扣除?event_availability
public function storeEvent(Request $request)
{
//deducts the event_availability
$user = User::find(Auth::user()->id);
$user->events()->syncWithoutDetaching([$request->event_id]);
return redirect()->route('user.events');
Event Model
public function users()
{
return $this->belongsToMany(User::class,'event_user','event_id','user_id');
}
解决方案
正如您event_id
从请求中获得的那样,您可以从中更新
$user = User::find(Auth::user()->id);
$user->events()->syncWithoutDetaching([$request->event_id]);
$event = Event::find($request->event_id);
$event->update([
'event_availability' => (int)$event->event_availability-1
]);
return redirect()->route('user.events');
推荐阅读
- c# - 视觉错误代码 C1002 - 玩家移动问题 - 已修复
- python - 在 Python 中将文本文件转换为数据框
- c# - 自动用于 .net 核心中的开发和发布
- java - 在 Java 中展平数组
- c - 需要在 Matplotlib 中显示连接所有点的线的轨迹,但需要在 C 中编码
- arrays - 循环 VBA 范围并偏移到特定表列和其他值
- r - 尽管try(),R raster()抛出文件未找到错误
- javascript - 如何让下拉导航栏与 html 和 css 一起使用?
- javascript - 为什么 setState() 在我的情况下不能在 React 中工作?
- python-3.x - foo:1 在 Python3 中做什么?