fix(hasOne): make sure it uses the transaction for the select