Traducir SQL a Active Record Query Interface en Ruby on Rails

Vincent, un buen amigo que tiene una startup tecnológica, tiene un proyecto web de correduría de seguros médicos. Esta aplicación web está escrita en Ruby usando el framework Ruby on Rails. El otro día me escribió para pedirme ayuda sobre cómo «traducir» una query de MySQL a ActiveRecord.

Mi amigo viene del mundo PHP y está empezando en esto de la programación en Ruby, y todavía no ha alcanzado un buen nivel, pero se defiende, y eso no le impide que su aplicación web funcione correctamente.

Os pongo el ejemplo aquí por si a alguien le sirve.


select
    clients.id,
    clients.name,
    clients.zipcode,
    clients.state,
    clients.city,
    count(sales.id) AS "Number of sales",
from clients
join sales
    where clients.id = sales.client_id
    and sales.sku != ""
GROUP by sales.client_id
ORDER BY sales.created_at asc;


Client.joins(:sales)
  .where("clients.id == sales.client_id AND sales.sku IS NOT IN (?)", ["", nil])
  .select("id, name, zipcode, state, city, count(sales.id) as number_of_sales")
  .order("sales.created_at")

«
»

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.