如何选择请求日期在PHP Laravel的两个日期之间?

时间:2020-01-20 02:18:18

标签: javascript php html mysql laravel

当前,我在数据库中有两个日期,例如depart_date和return_date。对于视图刀片,用户必须选择事故日期,该日期必须在depart_date和return_date之间。因此,在用户提交表单之前,表单将检查depart_date和return_date之间是否存在意外事故日期。我已经在控制器内部创建了sql命令。但是,这给了我一个错误。

错误:语法错误,意外的=“ =>”(T_CONSTANT_ENCAPSED_STRING),期望为')'

控制器:

$startdate = InsuranceEnrollment::select('depart_date')
             ->where($request->accident_date '=>', 'depart_date') AND ($request->accident_date 
             '<=', 'return_date');

dd($startdate);

查看刀片:

<div class="form-group">
<label class="form-control-label form-control-sm">Accident </label>
<div class="input-group">
<input type="text" placeholder="" class="form-control date-picker" 
data-datepicker-color="primary" name="accident_date" required>
</div> 

2 个答案:

答案 0 :(得分:1)

比较条件必须是这样,因此$request->accident_date将在这两个日期之间。

depart_date <= accident_date AND return_date >= accident_date

您需要像这样使用WHERE ... AND...

$startdate = InsuranceEnrollment::select('depart_date')
                                ->where('depart_date', '<=', $request->accident_date)
                                ->where('return_date', '>=', request->accident_date);

答案 1 :(得分:1)

您的where子句使用方式不正确,这是处理方法。

 $startdate = InsuranceEnrollment::select('depart_date')->where([
     'depart_date' <= $request->accident_date,
     'return_date' => $request->accident_date,
 ])->get();