use array filtering instead doctrine criteria