I think you might be wanting with_scope
Product.with_scope(:conditions => ["id < ?", 10]) do
stime = Time.now.utc.strfime("%Y-%m-%d")
@items = Product.find(:all, :conditions => ["publish = 1 and
(publish_from is null or publish_from <= ?) and (publish_to is null or
publish_to >= ?)", stime, stime])
all queries within the block automatically have the defined
conditions, ie, they have been scoped.