我在表中有一个唯一字段,我想用一个新值替换它。使用SQL,我可以简单地replace
而不是insert
正常方式。是否可以在Propel中完成而无需编写SQL?
最佳答案
这并不是您要找的东西,但是可以完成相同的事情。
根据MySQL文档,执行REPLACE会导致DELETE和INSERT。
因此,您可以这样做:
$book->delete();
$book->setDeleted(false);
$book->setId(null);
$book->setNew(true);
$book->save();
如果书是您要替换的对象。
您可以在此处查看代码段:
http://sandbox.propelorm.org/c8d3d29
我搜索了Propel代码库,没有看到任何代码引用MySQL的REPLACE关键字。
希望这可以帮助!
关于php - 如何使用Propel ORM中的SQL“替换”功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33337513/