gpt4 book ai didi

php - 如何使用 laravel 5.8 在 Controller 中创建一个条件?

转载 作者:行者123 更新时间:2023-11-29 15:45:04 25 4
gpt4 key购买 nike

你好, friend 们,我有这个问题...我有表格奖项,users_profile..在奖项中我保存图像,描述和分数所以在我的 Controller 中我想做的是以下...如果用户有必要的积分来领取这个奖品,那么他就会领取它,如果他没有足够的积分,那么他会显示一条错误消息

public function reclamarpremios(Request $request)
{
$vago_puntos = request('vago_puntos');
$premioID = request('id');
$puntaje = request('puntaje');
$perfil_users_app_id = request('perfil_users_app_id');
$us = UserAppPerfil::where('id',$perfil_users_app_id);
$reclamo = Premios::where('id',$premioID)->where('puntos','=',$vago_puntos);
if(!$reclamo->exists())
{
$us->decrement('vago_puntos',$puntaje);
$reclamo->increment('veces_reclamado');
return response()->json([$us,$reclamo,'message' => 'Felicidades has reclamado esta promocion, el equipo de vagos estara en contacto con tigo para obtorgarte tu premio'],200);

}else{
return response()->json(['message'=>'No tienes los suficientes vagos puntos'],422);
}

}

这段代码有效一半,因为例如,如果一个用户有 1000 积分,而奖品值(value) 500 积分,那么他不会交换它(他将我发送给其他人)...如果我想要的是在里面除了显示消息之外,某些字段还添加和减去某些值这是我在 MySQL 数据库中的表 my table on DB

最佳答案

我无法理解这一行中的第二个条件(->where('puntos','=',$vago_puntos)):

$reclamo = Premios::where('id',$premioID)->where('puntos','=',$vago_puntos);

用户想要兑换的奖品是id等于$premioID的奖品,不是吗?如果是这样,则不需要该条件。

public function reclamarpremios(Request $request)
{
$vago_puntos = request('vago_puntos');

$premioID = request('id'); //The prize id
$puntaje = request('puntaje');
$perfil_users_app_id = request('perfil_users_app_id');
$us = UserAppPerfil::where('id',$perfil_users_app_id)->first();

//Get the prize the user wants to redeem:
$reclamo = Premios::where('id',$premioID)->first();
if ($reclamo != null) { // if the prize exists
$requiredPoints = $reclamo->puntos; //The required amount of points for that prize
$userPoints = $us->puntos; //The user available points
if ($userPoints >= $requiredPoints) {
// if the user has the required amount of points, can redeem the prize:
$us->decrement('vago_puntos',$puntaje);
$reclamo->increment('veces_reclamado');
return response()->json([$us,$reclamo,'message' => 'Felicidades has reclamado esta promocion, el equipo de vagos estara en contacto con tigo para obtorgarte tu premio'],200);
}
else {
return response()->json(['message'=>'No tienes los suficientes vagos puntos'],422);
}
}else{
return response()->json(['message' => 'This prize is not available']);
}
}

希望有帮助。

关于php - 如何使用 laravel 5.8 在 Controller 中创建一个条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57152873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com