Php can';t验证laravel carbon中的var_转储是否正确
我编写代码来检查$start和$end之间的当前时间,如下所示:Php can';t验证laravel carbon中的var_转储是否正确,php,laravel,laravel-5,php-carbon,Php,Laravel,Laravel 5,Php Carbon,我编写代码来检查$start和$end之间的当前时间,如下所示: $current = new Carbon(); $start = product::select('dateS')->where('id',$req->id)->first(); $end = product::select('dateE')->where('id',$req->id)->first(); $val= var_dump($current->between($start-
$current = new Carbon();
$start = product::select('dateS')->where('id',$req->id)->first();
$end = product::select('dateE')->where('id',$req->id)->first();
$val= var_dump($current->between($start->dateS, $end->dateE));
它可以工作,当我使用dd($val)
时,它将显示:
布尔(假)
null或bool(true)null
接下来,我想这样做,但它只返回其他情况。我做错了什么
if($val == true){
echo "current time is between start and end";
}
else{
echo "current time isn't between start and end";
}
您可以按如下方式获得开始和结束:
$start_and_end_time = product::where('id',$req->id)->select(['dateS', 'dateE'])->first();
$val = \Carbon::now()->between($start_and_end_time->dateS, $start_and_end_time->dateE);
如果您在产品模型中将日期转换设置为日期
和日期
,您将通过上述查询获得碳实例
产品型号
dates = [
'dateS',
'dateE'
];
因此,您可以将当前日期时间与日期
和日期
进行比较,如下所示:
$start_and_end_time = product::where('id',$req->id)->select(['dateS', 'dateE'])->first();
$val = \Carbon::now()->between($start_and_end_time->dateS, $start_and_end_time->dateE);
您可以调整代码以从分配中删除
var\u dump
调用,您应该可以:
$current = new Carbon();
$product = product::findOrFail($req->id, ['dateS', 'dateE']);
if ($current->between($product->dateS, $product->dateE)) {
echo "current time is between start and end";
} else {
echo "current time isn't between start and end";
}
还组合了查询,因为您只需要一个查询即可获得所需的数据。欢迎使用SO。。。那么您想要(…)之间的
$val=$current->
?另外,您不需要执行两个单独的查询就可以从同一条记录中获取这两个字段。我只希望在dd($val)
中显示的结果$val
为bool(true)true或bool(false)false时,使用当前代码中的if else$val
为null
(false
)作为var\u dump()进行验证
返回void
(无)。。。因此,您需要从该分配中删除var_dump
调用var_dump不会返回任何内容。因此$val将不包含任何内容。