按日期查找Laravel 5.2

时间:2016-02-12 13:28:10

标签: php date laravel 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

未引用date => 2016年1月14日

如何解决?

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

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

但它没有帮助......

1 个答案:

答案 0 :(得分:0)

您需要将public void InsertNewCar() { try { Car myCar = new Car(); myCar.Insert(); } catch (Exception ex) { if ( /* This ex is the New Exception */ alert(somethingMissingMsg); } else /* This is the original exception */ { alert(Something wrong generic error); } } public void Insert() { try { SqlHelper.ExecuteNonQuery(ConnString, CommandType.Text, sqlInsert); } catch (SqlException ex) { if (ex.Number == 515) { throw new Exception("Missing something", ex); //throw new ApplicationException("Missing something", ex); } else { throw ex; } } } 更改为:

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

或者你可以使用它:

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

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