Laravel - PHP / MySQL日期范围过滤数据库中的日期范围

时间:2018-02-16 15:19:17

标签: php mysql sql laravel

我正在使用Laravel处理应用程序,我正在尝试从数据库中过滤记录。以下是标准:

在数据库中,我有2个日期列PointMappingCreationInfo<int> newMappingInfo = new PointMappingCreationInfo<int>(10, newShard, MappingStatus.Online); var newMapping = _listShardMap.CreatePointMapping(newMappingInfo); [excluded_period_start]。两列都有日期数据类型。

现在,我的表单中有两个字段[excluded_period_end][start_date]

我想获取除数据库中存储的句点之外的所有记录。我正在使用的代码是:

[end_date]

但是,这只给出了我的数据库中存储的范围之间的结果,但我希望该范围的结果

我尝试过很多像 $hotels = Hotel::whereHas('location' , function($query) use($searchOptions){ if(trim($searchOptions['location']) != ''){ $query->where('location_title', $searchOptions['location']); } }) ->where('excluded_period_start', '<', $start) ->where('excluded_period_end', '>', $end) ->where('active', 1) ->take(10) ->paginate(10); 这样的东西,但都没有。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您的初始排除期限不能介于开始和结束之间:

          ->whereNotBetween('excluded_period_start', [$start, $end])
          ->whereNotBetween('excluded_period_end', [$start, $end])