Php can';t验证laravel carbon中的var_转储是否正确

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-

我编写代码来检查$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->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将不包含任何内容。