当前,我在数据库中有两个日期,例如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>
答案 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();