I have a unique field in a table, and I'd like to replace it with a new value. With SQL, I can simply replace
rather than insert
the normal way. Can this be done in Propel without writing SQL?
This isn't exactly what you're looking for but accomplishes the same thing.
According to the MySQL docs, doing a REPLACE causes a DELETE and an INSERT.
So you could potentially do this:
$book->delete();
$book->setDeleted(false);
$book->setId(null);
$book->setNew(true);
$book->save();
Where book is an object you are replacing.
You can see a snippet here:
http://sandbox.propelorm.org/c8d3d29
I searched the Propel code base and didn't see any code referring to MySQL's REPLACE keyword.
Hope this helps!