Je suis en train d'apprendre l'élixir et je n'arrive pas à comprendre comment utiliser les variables à l'intérieur de la commande par l'instruction. J'ai deux variables sort
et direction
. Voici la requête que je travaille et que vous souhaitez remplacer desc
et date
dans l'ordre par. J'ai essayé [^direction: entry.^sort]
mais il jette une erreur. Existe-t-il un moyen d'utiliser des variables dans l'ordre?Variables en Ecto par
journal_entries = from entry in JournalEntry,
preload: [
:journal_entry_lines,
journal_entry_lines: :journal_entry,
journal_entry_lines: :chart_account
],
where: entry.id in ^journal_entry_ids,
order_by: [desc: entry.date],
limit: 100,
offset: 0
Comment spécifier le champ? Est-ce que je ne le passe pas comme une ficelle? J'ai eu cette erreur 'atome attendu dans le champ/2, a obtenu:" date "' –
Non, vous êtes censé passer dans un atome. Vous pouvez convertir la chaîne en un atome en utilisant ['String.to_atom/1'] (https://hexdocs.pm/elixir/String.html#to_atom/1). Mais faites attention à cela car les atomes ne sont pas collectés dans Elixir. Il y a aussi une limite supérieure sur le nombre d'atomes pouvant exister dans le système à un moment donné (ceci est configurable). –
J'ai trouvé String.to_atom(), est-ce la meilleure façon de gérer cela? –