php - 将数据插入多对多表 Symfony

标签 php mysql doctrine symfony1

我正在尝试使用 sfWidgetFormDoctrineChoiceMany Symfony 小部件将数据插入到数据库表中。由于某些未知原因,如果从每个字段中选择 2 个值,数据将插入,但如果在一个字段中选择 3 个值而在另一个字段中仅选择 1 个或 2 个值,则不会插入数据,如下所示:

enter image description here

但是当我尝试这样做时出现错误:

enter image description here

我正在使用 Doctrine 在数据库中生成我的表。这是我的架构:

#Article tables

SteerCmsArticle:
  columns:
    title:                 string(255)
    content:               string
    file:                  string(255)
    date_created:          string(255)
    active:                boolean
  relations:
    Tags:
      class:                SteerCmsArticleTags
      local:                a_id
      foreign:              a_tag_id
      refClass:             SteerCmsTaggedArticles
    Categories:
      class:                SteerCmsArticleCat
      local:                a_id
      foreign:              a_cat_id
      refClass:             SteerCmsCategorisedArticles

SteerCmsArticleCat:
  columns:
    name:             string(255)

SteerCmsArticleTags:
  columns:
    name:             string(255)

SteerCmsTaggedArticles:
  columns:
    a_id:                   integer(20)
    a_tag_id:               integer(20)
  relations:
    SteerCmsArticle:
      onDelete:               CASCADE
      local:                  a_id
      foreign:                id
    SteerCmsArticleTags:
      onDelete:               CASCADE
      local:                  a_tag_id
      foreign:                id

SteerCmsCategorisedArticles:
  columns:
    a_id:                   integer(20)
    a_cat_id:               integer(20)
  relations:
    SteerCmsArticle:
      onDelete:               CASCADE
      local:                  a_id
      foreign:                id
    SteerCmsArticleCat:
      onDelete:               CASCADE
      local:                  a_cat_id
      foreign:                id

最佳答案

我不敢相信我是多么愚蠢,因为在生成表单和验证器时,一个简单的拼写错误从头开始重建我的模型。确保您的验证器与表单正确对应,三重检查拼写!

'categories_list'      => new sfValidatorDoctrineChoiceMany(array('model' => 'SteerCmsArticle**Tags**', 'required' => false)),

我想成为...

'categories_list'      => new sfValidatorDoctrineChoiceMany(array('model' => 'SteerCmsArticle**Cats**, 'required' => false)),

关于php - 将数据插入多对多表 Symfony,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35192336/

相关文章:

php - 如何防止在 5 分钟内多次提交表单?

mysql - 使用 information_schema 查找 innodb 数据库的大小

schema - Doctrine schema.yml 生成器

php - 确定用户输入包含 URL

php - Joomla 3 配置值

Mysql数据库-需要设计最优方案

php - 动态加载网格中的记录(根据用户的请求)

php - Symfony 1.4 通过 SSL 连接到 mysql

symfony - 在个性化类(class)中使用 Doctrine

PHP议程与mysql回显表中的记录