如何向laravel雄辩的模型添加sql函数

Flo*_*iwi 1 mysql eloquent laravel-5

我想用计算列创建一个laravel模型。我已经看过下载数据后如何执行此操作,但是我希望进行的计算很昂贵,但可以在sql中作为函数来访问。本质上,我想在查询生成器中追加一列,但是不确定如何进行。

查询需要类似:

select *, my_function(ID) as my_value from my_table;
Run Code Online (Sandbox Code Playgroud)

我需要获取模型的实例作为回报(而不是原始记录集)。

我也希望避免多次查询。

谢谢。

小智 5

您的查询可以是这样的:

User::select([
   'users.*',
   \DB::raw('YEAR(created_at) as year')
])->get()
Run Code Online (Sandbox Code Playgroud)

将YEAR函数替换为所需的任何函数。还应将结果追加到该列。