原始/flexible-where-between

0.2 2020-11-26 16:35 UTC

This package is auto-updated.

Last update: 2024-08-27 00:15:47 UTC


README

Latest Version on Packagist Total Downloads

image

我们创建了这个包,以避免在使用 Laravel 的 whereBetween 方法时在项目间重复代码。

例如,如果您正在寻找介于两个日期之间的“某物”,则没有此包的方法可能需要如下所示

$logs = Log::query();

if ((empty($end_date) && (empty($start_date))
{
    $logs = $logs->get();
}

else if (empty($end_date)) 
{
   $logs = $logs->where('created_at','>=', $start_date);
}
else if (empty($start_date)) 
{
   $logs = $logs->where('created_at','<=', $end_date);
} 
else 
{
   $logs = $logs->whereBetween('created_at', [$start_date, $end_date])
}

此包会为您处理这个逻辑。您的新方法将看起来像这样

Log::whereBetween('created_at', [$start_date, $end_date])

因此,无论 $start_date$end_dateNULL 还是具有值,它都会“正常工作”。

安装

您可以通过 composer 安装此包

composer require primitive/flexible-where-between

使用

安装完包后,注册了一个 macro,它覆盖了默认的 whereBetween 功能。所以,它“直接工作”。 :)

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。