我的表产品中有这样的字段
--exp_date--
2016-08-02
2016-08-28
2016-08-28
2016-08-23
2016-08-15
2016-08-05
2016-08-20
在mysql中已经采用exp_date
格式的 date
我希望select
数据的日期从今天开始exp_date
少于15
我正在尝试这样的事情
$dn = date('Y-m-d'); //today date
$query = DB::table('product')->where(DB::raw('datediff(exp_date), $dn') < 15)->get();
但是我收到了这个错误
Object of class Illuminate\Database\Query\Expression could not be converted to int
如何解决?
ps:我使用了laravel 4.2,并且更喜欢使用查询构建器或原始查询
答案 0 :(得分:1)
尝试此代码
$expDate = Carbon::now()->subDays(15));
Table::whereDate('exp_date', '<',$expDate);
答案 1 :(得分:1)
日期差异在Laravel Query中适用于我。
DB::table('product')->whereRaw('DATEDIFF(exp_date,current_date) < 15')->get();