我遇到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重新生成等...
答案 0 :(得分:0)
Okey所以在经过多次测试和git reset --hard HEAD
来修复我的数据之后,似乎我的BlogPost.class.php出现了问题,其中包含一个空的save()方法覆盖,这会使事情搞乱。
另外,要以正确的方式重写数据,使用的命令是:
php symfony doctrine:build --all --and-load
而不是:
php symfony doctrine:data-load
希望它可以帮助任何有同样问题的人!