从当前表中获取值

时间:2011-08-30 12:11:23

标签: php symfony1 doctrine symfony-1.4

我有Doctrine表:

Name:
  columns:
    name_id: { type: integer(11),  primary: true,  autoincrement: true }
    name_name: { type: string(65)}
    parent_name_id: { type: integer(11) }

如果我编辑名称我想在输入parent_name_id列表中选择name_id,添加上一个。 我想用:

NameTable.class.php:

  static public $name = array(
    'full-time' => 'Full time', //  foreach ???
    'part-time' => 'Part time', // ????
    'freelance' => 'Freelance'  // ????
  );

  public function getName()
  {
    return self::$name;
  }

$this->widgetSchema['parent_name_id'] = new sfWidgetFormChoice(array(
  'choices'  => Doctrine::getTable('Name')->getName(),
  'expanded' => true,
));

但我怎么能在模特中生成这个?

1 个答案:

答案 0 :(得分:1)

Name:
  columns:
    name_id: { type: integer(11),  primary: true,  autoincrement: true }
    name_name: { type: string(65)}
    parent_name_id: { type: integer(11) }
  1. 为什么是name_name?这将是好的,重命名为名称:) 比你做的:
  2. $ php symfony doctrine:build --all --and-load --no-confirmation

    并在 BaseName.class.php 中的 / lib / model / doctrine / base 中,您可以看到所有生成的方法,例如

    * @method string              getName()                Returns the current record's "name" value
    

    您可以使用sfWidgetFormDoctrineChoice

    例如:

    $this->widgetSchema['parent_name_id'] = new sfWidgetFormDoctrineChoice('model' => 'Name', 'add_empty' => false, 'multiple' => false);