1

我有收藏promotions,每次促销都有很多exceptions

foreach ($promotions as $p) {
    $t = $p->exceptions()
            ->where('sunday','on')
            ->whereDate('start','<=', $c_date)
            ->whereDate('end','>=', $c_date)
            ->get()
            ->sortBy('promotion_id');

    echo $t->min('start'). ' from: '.$t->min('start_time') .' ';
    echo $t->max('end') . ' to: '.$t->max('end_time').'</br>';
}

因为促销有很多例外,所以我需要知道每个促销的最小日期和最大日期。

上面的代码运行良好,但它使用“开始”作为字符串而不是日期,结果无效。

如何从集合中获取最小日期和最大日期。

4

1 回答 1

1

理想情况下,明智的做法是为每个开始和结束设置一个 DATETIME 字段,而不是将日期和时间分开(这可能会导致您出错)。但如果你真的想要分离:

  • 确保start&在数据库end中存储为日期,然后指定属性,如 这里
  • 如果不是,请确保在存储值时将start&的格式end转换为“YYYY-MM-DD”
于 2019-06-17T13:00:38.133 回答