如果用户在Laravel中注册事件,“如何执行”函数将从透视表中扣除可用性数量
我有3个表,分别是如果用户在Laravel中注册事件,“如何执行”函数将从透视表中扣除可用性数量,laravel,eloquent,Laravel,Eloquent,我有3个表,分别是userevent和event\u user 我正在创建一个具有配额限制的事件注册,一旦配额已满,其他用户将无法注册到该特定事件。但问题是我为此建立了M-M关系。而event\u user仅存储user\u id和event\u id。一旦用户成功注册到事件中,我如何访问事件表并扣除事件可用性 public function storeEvent(Request $request) { //deducts the event_availability
user
event
和event\u user
我正在创建一个具有配额限制的事件注册,一旦配额已满,其他用户将无法注册到该特定事件。但问题是我为此建立了M-M关系。而event\u user
仅存储user\u id
和event\u id
。一旦用户成功注册到事件中,我如何访问事件
表并扣除事件可用性
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');
事件模型
public function users()
{
return $this->belongsToMany(User::class,'event_user','event_id','user_id');
}
由于您有来自请求的
event\u id
,您可以根据该请求进行更新
$user=user::find(Auth::user()->id);
$user->events()->syncwithout分离([$request->event_id]);
$event=event::find($request->event\u id);
$event->update([
“事件可用性”=>(int)$event->event\u availability-1
]);
return redirect()->route('user.events');
syncwithout detaching()
是否正常工作。?是。至少现在对我来说还不错。我使用它会有麻烦吗?是的,数据存储在我的event\u user
中,就像您在上面的数据库中看到的那样。