我有一個樹形結構,它由Gedmo\Tree
管理。我想對子樹中的一個字段進行復雜的更新,此更新需要與另一個表進行連接,但不受DQL支持。所以我想通過Gedmo\Tree
存儲庫方法childrenQueryBuilder
獲得DQL構建器,將其轉換爲QueryBuilder
並添加更新語句。是否可以將DQL查詢生成器轉換爲查詢生成器?
$dqlQueryBuilder = $repository->childrenQueryBuilder($node, ...);
$dqlQueryBuilder->resetDQLParts(['select', 'orderBy']);
$queryBuilder = convert($dqlQueryBuilder);
$queryBuilder->leftJoin('...', 'lj');
$queryBuilder->update('node.update', 'concat(node.field, lj.field)');
我知道我可以編寫自定義QueryBuilder
,我只是想知道,如果這種轉換是可以通過內建的學說工具或某些3第三方庫。
工作,你能發佈DQL?或者可能是它的簡化版本? –
是的,我更新了OP –