dateiff<从今天起15位查询构建器laravel

时间:2016-08-20 18:17:35

标签: laravel laravel-4 laravel-query-builder

我的表产品中有这样的字段

--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,并且更喜欢使用查询构建器或原始查询

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();