每个活动的参加人数最多。存储票证时,即使订购的数量超过最大数量,它仍然可以保存。
store
功能:
public function store(Request $request)
{
// Create Ticket
$ticket=new Ticket;
$ticket->userName= $request->input('userName');
$ticket->userEmail= $request->input('userEmail');
$ticket->phoneNumber= $request->input('phoneNumber');
$ticket->regular_quantity= $request->input('regular_quantity');
$ticket->vip_quantity= $request->input('vip_quantity');
$ticket->event_id=$request->route('id');
$ticket->total= $request->input('regular_quantity') + $request->input('vip_quantity');
$event = Event::where('id',$ticket->event_id)->first();
if($ticket->regular_quantity<$event->regular_attendies){
if($event->regular_attendies>0){
DB::table('events')->decrement('regular_attendies', $ticket->regular_quantity);
}
else{
echo 'no tickets';
return redirect ('/admin');
}
}
elseif($ticket->vip_quantity<$event->vip_attendies){
if($event->vip_attendies>0){
DB::table('events')->decrement('vip_attendies', $ticket->vip_quantity);
}
else{
return redirect ('/admin');
}
}
$ticket->save();
return redirect('/');
}
答案 0 :(得分:1)
以下部分中有错字
elseif($ticket->vip_quantity<$event->$vip_attendies){
应该是这个
} elseif ($ticket->vip_quantity < $event->vip_attendies) {
您不小心在$
之前添加了vip_attendies
由于这不能解决您的代码,因此票证可以只包含regular_quantity
或vip_quantity
还是都允许。我的猜测是它们中的任何一个都是0,空字符串或null。然后,这会弄乱您的重定向流程。
答案 1 :(得分:0)
更改
if($ticket->regular_quantity<$event->regular_attendies)
收件人
if($ticket->regular_quantity<=$event->regular_attendies)
也要更改
elseif($ticket->vip_quantity<$event->vip_attendies)
收件人
elseif($ticket->vip_quantity<=$event->vip_attendies)
当他们两个都相同时,则忽略所有内容并以任何方式保存票证,这样您就可以处理