从基数中选择时间为UNIX_TIMESTAMP(时间)laravel 5

ven*_*uil 1 php database orm laravel laravel-5

我在基本字段中有类型datetime,它是time字段.我希望从基础获得所有元素并获得额外的timeu字段 - 它是UNIX_TIMESTAMP(time).我试着通过添加来做到这一点,->select('*','UNIXTIMESTAMP(time) AS timeu')但是Laravel给了我错误.我需要它用于->keyBy().我有下一个错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'UNIX_TIMESTAMP(time)' in 'field list' (SQL: select *, `UNIX_TIMESTAMP(time)` as `timeu` from `values` where UNIX_TIMESTAMP(time) <= 1429135199 and UNIX_TIMESTAMP(time) >= 1428444000 order by `id` asc)
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

luk*_*ter 6

Laravel需要知道这UNIX_TIMESTAMP(time) as timeu是一个RAW SQL表达式而不是列名:

->select('*', \DB::raw('UNIX_TIMESTAMP(time) AS timeu'))
Run Code Online (Sandbox Code Playgroud)

或者:

->selectRaw('*, UNIX_TIMESTAMP(time) AS timeu')
Run Code Online (Sandbox Code Playgroud)