私はツリー構造を持っており、Gedmo\Tree
によって管理されています。私はサブツリー内の1つのフィールドに対して複雑な更新を行いたいが、この更新は別のテーブルとの結合が必要であり、DQLではサポートされていない。だから、Gedmo\Tree
リポジトリメソッドchildrenQueryBuilder
でDQLビルダーを入手し、それをQueryBuilder
に変換し、更新ステートメントを追加したいと思います。私はカスタム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)');
、このような変換が教義の組み込みツールまたは一部3 - サードパーティライブラリによって可能にしている場合、私は疑問に思います。
DQLでカスタムDB機能と連携する方法について
チェックdocumentationあなたはDQLを投稿することができますか?それとも、単純化したバージョンですか? –
はい、私はOP –