我的网页有些问题。
它运行得很慢,所以我在互联网上读到它可能是对 SQL 的错误使用。所以我评论了更“复杂”的 SQL 行,它又开始顺利运行了。
我的问题是:'有没有办法让这个 SQL 请求“更轻”?
@companies = Company.where('tbl_companys.state = "enabled"')
@companies = @companies.includes(:benefit).where("tbl_benefits.end_date >= {Date.today}" )
@companies = @companies.includes(:benefit).where(tbl_benefits: { state: 'enabled' })
has_benef_gastro = false
has_benef_hote = false
has_benef_ent = false
until has_benef_gastro == true
@esta_gastro = (@companies.where('id_category = "2-gastronomia"').shuffle)[0]
@benefit_gastro = Benefit.where('id_company = ? AND end_date >= ? AND state = "enabled"', @esta_gastro.id_company, Date.today).first
if @benefit_gastro.nil? == false
has_benef_gastro = true
end
end
until has_benef_hote == true
@esta_hotelero = (@companies.where('id_category = "1-hoteleria"').shuffle)[0]
@benefit_hote = Benefit.where('id_company = ? AND end_date >= ? AND state = "enabled"', @esta_hotelero.id_company, Date.today).first
if @benefit_hote.nil? == false
has_benef_gastro = true
end
end
until has_benef_ent == true
@esta_ent = (@companies.where('id_category = "3-entretenimiento"').shuffle)[0]
@benefit_ent = Benefit.where('id_company = ? AND end_date >= ? AND state = "enabled"', @esta_ent.id_company, Date.today).first
if @benefit_ent.nil? == false
has_benef_gastro = true
end
end
谢谢你的帮助 !