执行单个数据库查询可以更快速地找到所需的页面结果,然后通过if/else语句执行多个循环来提取您想要在每个部分中显示的内容,或者做几个数据库查询来选择您需要的确切数据,然后分别循环遍历每一个数据?优化数据库查询的使用
例如:
@completed = HostTask.find(:all, :include => [:task], :conditions =>["host_tasks.decommission_id = ? AND host_tasks.completed IS NOT NULL", params[:id]], :order => "tasks.position")
@incomplete = HostTask.find(:all, :include => [:task], :conditions =>["host_tasks.decommission_id = ? AND host_tasks.completed IS NULL", params[:id]], :order => "tasks.position")
然后循环通过每个显示量。或者只是:
@tasks = HostTask.find(:all, :include => [:task], :conditions =>["host_tasks.decommission_id = ?", params[:id]], :order => "tasks.position")
通过@tasks循环两次,只显示@ tasks.completed为null然后不为空?
+1与往常一样,“取决于”。 – 2010-10-13 11:15:56