On Sat, Oct 8, 2022 at 1:12 AM Thiebo <thiebald.crem...@gmail.com> wrote:
> Hello, > > I currently do this: > > # create empty array to which result of dataset will be pushed > results = [] > > # get the Sequel dataset > DB[:entrees] > .join(:categories, id: :categorie_id) > .select{[ entrees[:id], entrees[:date_de_valeur], entrees[:intitule], > entrees[:montant], entrees[:recurrent], categories[:intitule].as(: > categorie) ]} > .where(Sequel.lit('entrees.account_id = ?', accountid)) > .where(Sequel.lit('extract(MONTH FROM date_de_valeur) = ?', month)) > .where(Sequel.lit('extract(YEAR FROM date_de_valeur) = ?', year)) > .order(:date_de_valeur) > .each{ |ligne| results.push(ligne) } > > It works, although this is probably not the most concise way to doing > this. > > Sequel.extract(:month, :date_de_valuer) Sequel.extract(:year, :date_de_valuer) Note that it may be faster to use an approach such as: date = Date.new(year,month) DB[:entrees] ... where(:date_de_valeur=>date...(date >> 1)) Also, note that you can do: results = DB[:entrees] ... .all # instead of .each with block Thanks, Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to sequel-talk+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sequel-talk/CADGZSSe%3DpnxH4edPLC1DembnS7aEfakk%3D1zzMWEmqU0guyH7Mw%40mail.gmail.com.