Php 检查每个验证代码的过期时间
在下面的代码中,我检查是否有记录供用户检查Php 检查每个验证代码的过期时间,php,laravel,Php,Laravel,在下面的代码中,我检查是否有记录供用户检查exprire_at比现在小,它将过期并创建新代码,否则向用户显示消息。 但在这两种情况下,都会创建一个新代码 有什么问题 if (Auth::User()->numberVerifies()->where('type','mobile')->exists()) { $expiry = optional(Auth::user()->numberVerifies()->where('ty
exprire_at
比现在小,它将过期并创建新代码,否则向用户显示消息。
但在这两种情况下,都会创建一个新代码
有什么问题
if (Auth::User()->numberVerifies()->where('type','mobile')->exists()) {
$expiry = optional(Auth::user()->numberVerifies()->where('type','mobile')->select('expire_at')->first())->expire_at;
if ($expiry < Carbon::now()) {
$code = rand(11111, 99999);
numVerify::create([
'user_id' => Auth::User()->id,
'type' => 'mobile',
'code' => $code,
'expire_at' => Carbon::now()->addSecond(60)
]);
session()->flash('messageMobile', 'code created.');
}
elseif ($expiry > Carbon::now()) {
session()->flash('messageMobile', 'you have a code');
}
}
if(Auth::User()->numberifies()->where('type','mobile')->exists()){
$expire=可选(Auth::user()->numberifies()->where('type','mobile')->select('expire_at')->first())->expire_at;
如果($expirationAuth::user()->id,
'type'=>'mobile',
“代码”=>$code,
'expire_at'=>Carbon::now()->addSecond(60)
]);
session()->flash('messageMobile','code created');
}
elseif($expiration>Carbon::now()){
session()->flash('messageMobile','youhaveacode');
}
}
更改
if ($expiry < Carbon::now()) {
到
检查
$expiry
的值。只要Carbon::now()
大于零,null
和false
都“小于”这个值。问题出在哪里
…如果没有看到$expiry
的内容,我们就无法知道发生了什么。你还没有试着自己调试吗?如果(空($expiry)|$expiryif (!empty($expiry) && $expiry < Carbon::now()) {
} elseif ($expiry > Carbon::now()) {
} else {