【问题标题】:symfony 1.x using forms and widgets with database datasymfony 1.x 使用带有数据库数据的表单和小部件
【发布时间】:2016-04-25 16:13:52
【问题描述】:

我知道您可以使用类似这样的方式实现多个选择框

public function executeContact($request)
{
  $this->form = new sfForm();
  $this->form->setWidgets(array(
    'name'    => new sfWidgetFormInputText(),
    'email'   => new sfWidgetFormInputText(array('default' => 'me@example.com')),
    'subject' => new sfWidgetFormChoice(array('choices' => array('Subject A', 'Subject B', 'Subject C'))),
    'message' => new sfWidgetFormTextarea(),
  ));
}

制作这样的东西

但是,如果使用硬编码数组数据集,人们将如何获取数据库数据。我已经用模式玩了一段时间了,我所能看到的只是一个表的 ID。我做错什么了吗?

【问题讨论】:

  • 是symfony 1.x系列吗?
  • 哦,是的,对不起,我删除了标签
  • 不确定 Symfony 1.x,但是如果您想在选择表单字段中加载数据库数据,那么选项属性应该是 ID 或表行的主键。另外,我猜你没有使用 Doctrine 实体。
  • 我也会删除它,对不起。嗯,我不确定你的意思。抱歉,这个系统已经过时了,我只能使用它
  • 你不明白的“部分”是什么?你能说得清楚一点吗?你遇到了什么麻烦/问题?

标签: php symfony1 symfony-forms


【解决方案1】:

首先使用您的架构中已经构建的模型获取数据;

'category' => new sfWidgetFormDoctrineChoice(array('model' => 'MyCategoryTable'))

我发现为了从数据库中的表中检索某些值,在迁移中生成表时必须遵循默认命名约定。我出错的地方是命名一个列'Category'。相反,它必须是'name'。我还没有获得有关使用自定义列名检索数据的更多信息

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-01
    • 2016-04-20
    相关资源
    最近更新 更多