Php 如果语句为true,即使在保存票证时不是
我每个活动的最大出席人数。在存储票据时,即使订购的数量超过最大值,它仍然可以保存Php 如果语句为true,即使在保存票证时不是,php,laravel,eloquent,Php,Laravel,Eloquent,我每个活动的最大出席人数。在存储票据时,即使订购的数量超过最大值,它仍然可以保存 存储功能: public function store(Request $request) { // Create Ticket $ticket=new Ticket; $ticket->userName= $request->input('userName'); $ticket->userEmail= $request->input(
存储
功能:
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('/');
}
公共函数存储(请求$Request)
{
//创建票证
$ticket=新票;
$ticket->userName=$request->input('userName');
$ticket->userEmail=$request->input('userEmail');
$ticket->phoneNumber=$request->input('phoneNumber');
$ticket->regular\u quantity=$request->input('regular\u quantity');
$ticket->vip_数量=$request->输入('vip_数量');
$ticket->event_id=$request->route('id');
$ticket->total=$request->input('regular_quantity')+$request->input('vip_quantity');
$event=event::where('id',$ticket->event_id)->first();
如果($ticket->regular\u quantity\u attendes){
如果($event->regular\u attenties>0){
DB::table('events')->减量('regular_attenties',$ticket->regular_quantity);
}
否则{
回音“没有票”;
返回重定向('/admin');
}
}
其他($ticket->vip\u数量vip\u出席人数){
如果($event->vip\u attenties>0){
DB::table('events')->减量('vip_attenties',$ticket->vip_数量);
}
否则{
返回重定向('/admin');
}
}
$ticket->save();
返回重定向('/');
}
您在下面的部分有一个输入错误
elseif($ticket->vip_quantity<$event->$vip_attendies){
elseif($ticket->vip\u数量$vip\u出席人数){
应该是这个
} elseif ($ticket->vip_quantity < $event->vip_attendies) {
}elseif($ticket->vip\u数量<$event->vip\u出席人数){
您意外地在贵宾席前添加了一个$
更新
鉴于这并没有修复您的代码,票证只能有常规数量
或vip数量
或两者都允许。我猜它们中的任何一个都是0、空字符串或null。这会扰乱您的重定向流。更改
if($ticket->regular_quantity<$event->regular_attendies)
if($ticket->regular\u quantityregular\u attendies)
到
if($ticket->regular\u quantityregular\u attendies)
也改变
elseif($ticket->vip_quantity<$event->vip_attendies)
elseif($ticket->vip\u quantityvip\u attendedies)
到
elseif($ticket->vip\u quantityvip\u attendedies)
当两者都相同时,不管怎样都忽略所有内容并保存票证,这样您就可以处理这个问题了expected@mimikiduchu也许编辑你的问题来解决它?我仍然想知道你的代码是如何执行的。事实上,他们有0,但我编辑了我的代码仍然不工作哪种情况是失败的,有你你尝试过转储实际值吗?全部都是。不,我没有这给你什么。
var\u dump($ticket->regular\u quantity,$event->regular\u attendies,$ticket->vip\u quantity,$event->vip\u attendies)
string(1)“2”int(1)“2”int(4”string(1)“2”int(1)string(1)“2”int(2”int(4)@Ghostff
elseif($ticket->vip_quantity<$event->vip_attendies)
elseif($ticket->vip_quantity<=$event->vip_attendies)