Selecting virtual field in Ecto
In you Ecto model, you might have some virtual fields that needs to be
computed when you select
from your database.
The select
option of from
will override the whole set of returned fields.
Which means if you do something like:
from d in Document, select: %{shared: true}
You will get only an array of map with %{shared: true}
as content.
The trick to add a field, is to use regular elixir syntax, like so:
from d in Document, select: %{d | shared: true}
Of course, replace shared
with whatever SQL function you want.