Doctrine 2中是否有可能(以及如何)使用QueryBuilder
创建查询并获取每个匹配行的写锁定?使用LockMode::PESSIMISTIC_WRITE
获取单个项目时可以使用EntityRepository->find()
,但我无法为QueryBuilder找到此类属性。
答案 0 :(得分:2)
答案是在setLockMode()
对象上调用Query
。
$qb = $em->createQueryBuilder();
$query = $qb->getQuery();
$query->setLockMode(LockMode::PESSIMISTIC_WRITE);
$results = $query->getResult();
Transactions and Concurrency文档页面的最后一行显示支持Query->setLockMode()
。有点难以注意,但它就在那里......;)