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

时间:2011-12-13 11:29:35

标签: php symfony1 doctrine symfony-1.4 symfony-forms

我正在使用sfDoctrineGuardPlugin。我有一个模型Poster,其user_id字段链接到id表的sfGuardUser字段。

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

我有posterdoctrine:admin-generate模型生成的模块Poster。现在在列表视图中,我可以看到user_id为1,2等,在过滤器中,我可以看到一个下拉菜单,可以让我选择用户名。现在,我希望有一个username字段而不是user_id,我可以在其中显示关联用户的username,我希望此列为sortable

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

我在某些论坛上看到了一些关于这些的提示,但这些都是点点滴滴,而且大多数都是针对Propel而我正在使用Doctrine

感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

  1. 在genrator.yml的海报模块中:

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

  2. 如果您想自定义过滤器,可以阅读symfony admin filter with join并尝试执行此操作

  3. <强> UPD

    这是解决方案:

    Symfony 1.4 admin generator sort on custom column