Please sign in to comment.
Update the exception thrown by findOneOrCreate() when used with a join.
When using a join() (or a useXXXQuery()) on a query, and then terminating with findOneOrCreate(), Propel used to throw a non-explicit exception only in the case where there was no result found: PropelException: 'author.FIRST_NAME' could not be found in the field names of type 'colName'. These are: Array ... The problem is that Propel cannot set the foreign key value, as the main query uses a join and not a subquery. So Propel *should* indeed throw an exception, but it should explain what to do more clearly: PropelException: findOneOrCreate() cannot be used on a query with a join, because Propel cannot transform a SQL JOIN into a subquery. You should split the query in two queries to avoid joins. This exception is now also thrown when the query has a result, to help spot the problem during development (and not in production). Fixes #261.
- Loading branch information...
Showing with 16 additions and 0 deletions.