You could also do it like this:
Orange %>%
group_by(Tree) %>%
nest() %>%
mutate(model = map(data, ~ lm(age ~ 1 + circumference, data = .x)),
tidy_model = map(model, broom::tidy)) %>%
unnest(tidy_model)
This will give you a data frame with all of the different models in the same data frame rather than in a list of data frames.
More similar to your accepted answer, you could change the map(tidy) portion to map_df(tidy) and you would get the same thing. The nice thing about the first approach is that you can do a lot more than just tidy the models, i.e., augment or glance, all in the same mutate call and then just unnest which ever you are interested in.