2017-11-06 15 views
0

動作しません。私は2つのエンティティ間のoneToMany/manyToOne非常に単純な関係を持っていますWorkflowsymfonyの3 - - ドクトリン2 ORDERBY oneToMany関係には

MyBundle\Entity\State: 
    type: entity 
    id: 
    id: 
     type: integer 
     generator: {strategy: AUTO} 
    manyToOne: 
    workflow: 
     targetEntity: MyBundle\Entity\Workflow 
     inversedBy: states 
     cascade: [persist, merge, refresh] 
    ... 
    fields: 
    stateOrder: 
     type: smallint 

どちらもorderBy: ASCorderBy: DESCも州を注文します。私はphp bin/console doctrine:schema:update --force --complete --dump-sqlを実行し、オプションを変更するときにキャッシュをクリアし、Apacheを再起動しました。私もorderByオプション追加のdoctrines official way試みた

:ここでは同じ結果とorderBy: {'stateOrder': 'DESC'}/orderBy: {'stateOrder': 'ASC'}を...


は、フォームのレンダリング時に走ったクエリです:

SELECT 
    t0.id AS id_1, 
    t0.name AS name_2, 
    t0.project_id AS project_id_3, 
    t4.id AS id_5, 
    t4.stateOrder AS stateOrder_6, 
    t4.workflow_id AS workflow_id_7, 
    t8.id AS id_9, 
    t8.keyWord AS keyWord_10, 
    t8.action AS action_11, 
    t8.workflow_id AS workflow_id_12, 
    t8.from_id AS from_id_13, 
    t8.to_id AS to_id_14, 
    t0.initialState_id AS initialState_id_15 
FROM 
    workflow_Workflow t0 
    LEFT JOIN workflow_State t4 ON t4.workflow_id = t0.id 
    LEFT JOIN workflow_Transition t8 ON t8.workflow_id = t0.id 
WHERE 
    t0.id = '10'; 

だから、順序byはクエリの一部ではありません...

これはなぜうまくいかないのですか?

+0

特別なクエリを使用してこれらのエンティティを取得していますか?もしそうなら: 'State'エンティティはフェッチ結合されていますか? – ccKep

+1

また、[DDC-3448](https://github.com/doctrine/doctrine2/issues/4256)はおそらく関連しています。 – ccKep

+0

いいえ、エンティティはSymfonys 'ParamConverter'によって自動的に読み込まれます...しかし、私は[github](https://github.com/doctrine/doctrine2/issues/4256)の問題を発見しました:' orderBy'は動作しません'EAGER'!とにかくおかげさま...(あなたはどこに速く問題を発見したのですか?) – goulashsoup

答えて

関連する問題