按日期查找 拉拉维尔 5.2.


Find By Date Laravel 5.2

我在按现有日期搜索时遇到一些问题。

在模型中:

$date = '2016-01-14';
public static function getByDate($date)
{
    $query = self::select('date', DB::raw('SUM(test_count) as test'))
        ->whereDate('date', '=', $date)
        ->groupBy('date')
        ->orderBy('date', 'ASC')
        ->get();
}

但是我没有得到结果,因为此代码创建了SQL:

select `date`, SUM(test_count) as test from `test_table` where date(`date`) = 2016-01-14 group by `date` order by `date` asc limit 1

日期附近未引用 => 2016-01-14

如何解决?

我尝试将whereRaw与参数一起使用,例如:

return $query->whereRaw("date= ?",[$date]);

但它没有帮助...

您需要

->whereDate('date', '=', $date)更改为以下内容:

->where('date', '=', $date)

或者你可以使用这个:

->whereDate($date)

因此,很明显,您可以使用->whereDate($date)->where('date', '=', $date) whereDate因为这是一种动态方法,在这种情况下,它将变为:where('date', '=', $date)