Как можно заказать в schema.yml доктрину Symfony 1.4 - PullRequest
2 голосов
/ 13 марта 2012

У меня есть отношение многие ко многим из Project в Asset с использованием класса ProjectAsset в качестве среднего класса между этими двумя. Когда я использую метод getProjectAsset () в проекте, он возвращает все мои ProjectAssets, назначенные этому проекту.

Как я могу изменить schema.yml, чтобы упорядочить результаты по умолчанию?

Project:
  relations:
    Assets:
      class: Asset
      refClass: ProjectAsset
      foreignAlias: Projects
      local: project_id
      foreign: asset_id           

ProjectAsset:
  tableName: projects_assets
  columns:
    title: { type: string, length: 255 }
    project_id:  { type: integer, primary: true }
    asset_id: { type: integer, primary: true }
  relations:
    Project:
      class: Project
      foreignAlias: ProjectAssetRelations
      local: project_id
      foreign: id
      onDelete: CASCADE
    Asset:
      class: Asset
      foreignAlias: ProjectAssetRelations
      local: asset_id
      foreign: id
      onDelete: CASCADE

Ответы [ 2 ]

14 голосов
/ 04 апреля 2012

Это моя первая мысль после прочтения http://www.dobervich.com/2011/03/05/symfony2-blog-application-tutorial-part-ii-the-data-model/ Хотя еще не проверял.

oneToMany:
    posts:
        targetEntity: Post
        orderBy:
            createdAt: DESC
2 голосов
/ 13 марта 2012

Это не нужно делать в файле schema.yml, но при получении данных в коде.

Например.

$passets = Doctrine_Query::create()
           ->select('p.*')
           ->from('ProjectAsset  p')
           ->orderBy("p.Title")
           ->execute();

Обновление: возможно, вы можете: проверьте этот вопрос .

...