Laravel中的Coloumn名字位于

时间:2015-05-20 12:21:02

标签: php laravel laravel-4 eloquent laravel-5

在Laravel

->whereBetween('usage.created_at', array('subscriptions.created_date', 'subscriptions.end_date'))

它将查询作为

`usage`.`created_at` between 'subscriptions.created_date' and 'subscriptions.end_date'

但是我希望查询将subscriptions.created_datesubscriptions.end_date视为列本身而不是字符串值

`usage`.`created_at` between subscriptions.created_date and subscriptions.end_date

subscriptions.created_datesubscriptions.end_date删除了引号。

从他们的文档我得到了这个但不适合我的情况,因为我想要列名而不是1100

$users = DB::table('users')
->whereBetween('votes', array(1, 100))->get();

我怎样才能做到这一点。我是Laravel的新手。

2 个答案:

答案 0 :(得分:2)

或者,您可以使用两个whereRaw()

执行此操作
->whereRaw('usage.created_at >= subscriptions.created_date')
->whereRaw('usage.created_at <= subscriptions.end_date');

但如果您真的想使用whereBetween,我不知道:/

答案 1 :(得分:0)

我相信您必须使用DB::raw

->whereBetween('usage.created_at', array(DB::raw('subscriptions.created_date'), DB::raw('subscriptions.end_date')))