指定的行密钥无效,数据加载夹具错误Symfony 1.4

时间:2017-09-13 12:30:44

标签: php doctrine symfony-1.4 fixtures

我遇到symfony 1.4设置问题:

我创建了schema.yml:

BlogCategory:
  actAs: { Timestampable: ~ }
  columns:
    name: { type: string(255), notnull: true, unique: true }

BlogPost:
  actAs: { Timestampable: ~ }
  columns:
    category_id: { type: integer, notnull: true }
    title: { type: string(255), notnull: true }
    body: { type: string(255), notnull: true }
  relations:
    BlogCategory: { onDelete: CASCADE, local: category_id, foreign: id, foreignAlias: BlogPosts }

(基于jobeet教程)

然后它生成了表schema.sql:

CREATE TABLE blog_category (id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR(255) NOT NULL UNIQUE, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL);
CREATE TABLE blog_post (id INTEGER PRIMARY KEY AUTOINCREMENT, category_id INTEGER NOT NULL, title VARCHAR(255) NOT NULL, body VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL);

这似乎对我来说。

为了完成我试图添加灯具并加载数据,我的灯具如下:

数据/装置/ categories.yml:

BlogCategory:
  design:
    name: Design
  programming:
    name: Programming
  management:
    name: Management
  administrator :
    name: Administrator

数据/装置/ posts.yml

BlogPost:
  initial_post_1:
    BlogCategory : design
    title: Initial post 1
    body: This post is an initial test number 1

  initial_post_2:
    BlogCategory : design
    title: Initial post 2
    body: This post is an initial test number 2

php symfony doctrine:data-load命令生成类别而不是帖子,所以我尝试了:

php symfony doctrine:data-load data/fixtures/posts.yml
  

指定的行密钥无效:(blog_category)设计,参考   (blog_post)initial_post_1

知道我为什么不能发布这些帖子?我已经尝试删除db重新生成等...

1 个答案:

答案 0 :(得分:0)

Okey所以在经过多次测试和git reset --hard HEAD来修复我的数据之后,似乎我的BlogPost.class.php出现了问题,其中包含一个空的save()方法覆盖,这会使事情搞乱。

另外,要以正确的方式重写数据,使用的命令是:

php symfony doctrine:build --all --and-load 

而不是:

php symfony doctrine:data-load

希望它可以帮助任何有同样问题的人!