如何在Cakephp3查询中添加FOR UPDATE?

时间:2015-06-09 18:36:15

标签: select transactions sql-update cakephp-3.0 isolation-level

有没有办法在Cakephp3中为查询(SELECT)查询添加FOR UPDATE?

我发现了这个hack:http://bakery.cakephp.org/2012/04/14/SELECT-FOR-UPDATE-hack-kind-of-ugly-but-it-works-PostgreSQL-and-MySql.html但它不起作用,因为限制值必须只包含一个数字。 关于类似主题的另一个讨论可以在https://github.com/cakephp/cakephp/issues/3136#event-213462937下找到。

2 个答案:

答案 0 :(得分:4)

您可以使用Query::epilog()

执行此操作
$selectQuery->...->epilog('FOR UPDATE');

答案 1 :(得分:0)

我为cakephp3 https://github.com/cakephp/cakephp/issues/6772#issuecomment-110530303开了一张票。

解决方案是使用Query类中的epilog方法:

$article->find('first')->epilog('FOR UPDATE');