查找没有记录的周数

时间:2013-10-23 07:06:22

标签: sql ruby-on-rails date

我正在建立一个时间表/项目管理应用程序。用户被分配到项目。作业有开始和结束日期。

Timesheets有week_ending_date,用于标识创建时间表的周数(涵盖所有7天)。

我需要找到的是,没有时间表的周(用户已分配项目)。

我的解决方案是什么?

我想到了:

dates = []
assignments = user.project_assignments.pluck("assignment_start_date, assignment_end_date")
assignments.each do |assignment|
  dates << (assignment[0]..assignment[1]).to_a
end
dates.flatten!

获取时间表必须可用的日期。现在我做了,

Timesheet.all.select('week_ending_date').uniq.map(&:week_ending_date)

现在使用这些week_ending_dates,我可以找到每周的日期。然后我可以从之前的dates中减去这个。

这是一个很好的解决方案还是有更好的东西?

  • 如果没有时间表,那么据说一周是空的&#39; week_ending_date&#39;
  • 周从星期一开始,到星期日结束
  • 数据库是MySQL
  • Rails 4.0 / Ruby 2.0

0 个答案:

没有答案