symfony admin list view当模型与user_id关联时,按用户名排序


symfony admin list view Sort by username when the model is associated with user_id

我正在与sfDoctrineGuardPlugin合作。我有一个模型Poster,它有一个user_id字段链接到sfGuardUser表的id字段。

Poster:
  actAs:
    Timestampable: ~
    Sluggable:
      fields:[name]
  columns:
    id:
      type: integer(4)
      autoincrement: true
      primary: true
    name:
      type: string(255)
      notnull: true
    filename:
      type: string(255)
      notnull: true
    approved:
      type: boolean(1)
      default: false
    user_id:
      type: integer(20)
      default: 1
  attributes:
    export: all
    validate: true
  relations:
    User:
      class: sfGuardUser
      local: user_id
      foreign: id
      type: one
      foreignType: many
      foreignAlias: Posters

我有一个模块poster,它是由doctrine:admin-generatePoster模型生成的。现在在List视图中,我可以看到user_id为1、2等,在过滤器中,我可以看到一个下拉菜单,让我选择用户名。现在,我希望有一个username字段而不是user_id,我可以在其中显示相关用户的username,我希望这一列是sortable

在过滤器方面,我希望有一个文本字段,不仅可以进行精确匹配,还可以进行部分匹配,即如果我用x过滤,xyz也应该在结果中。

我在一些论坛上看到了一些关于这些的提示,但那都是零零碎碎的,大部分是为推进,而我使用Doctrine

任何帮助都是感激的。

  1. 在你的海报模块在generator .yml:


    列表:标题:海报display: [=user, some_field]

  2. 如果你想自定义你的过滤器,你可以读取symfony admin filter with join并尝试执行

乌利希期刊指南

它是解:

Symfony 1.4 admin生成器排序自定义列