Cardinals beat Diamondbacks 6-4 for seventh straight win