2011-05-18 63 views
0

我注意到propel會把fixture數據加載到數據庫中,即使我們沒有在.yml文件中指定一些必需的表格字段。Symfony:加載需要的字段爲空的夾具數據?

背後的原因是什麼?更容易開發等?

模式:

jobeet_job: 
    id:   ~ 
    category_id: { type: integer, foreignTable: jobeet_category, foreignReference: id, required: true } 
    type:   { type: varchar(255) } 
    company:  { type: varchar(255), required: true } 
    logo:   { type: varchar(255) } 
    url:   { type: varchar(255) } 
    position:  { type: varchar(255), required: true } 
    location:  { type: varchar(255), required: true } 
    description: { type: longvarchar(255), required: true } 
    how_to_apply: { type: longvarchar(255), required: true } 
    token:  { type: varchar(255), required: true, index: unique } 
    is_public: { type: boolean, required: true, default: 1 } 
    is_activated: { type: boolean, required: true, default: 0 } 
    email:  { type: varchar(255), required: true } 
    expires_at: { type: timestamp, required: true } 
    created_at: ~ 
    updated_at: ~ 

因此,需要expires_at:真。

數據:

expired_job: 
    category_id: design 
    company:  Extreme sensio 
    position:  Web Designer 
    location:  Paris, France 
    description: | 
     Lorem ipsum dolor sit amet. 
    how_to_apply: | 
     Send your resume to fabien.potencier at sensio.com. 
    is_public: true 
    is_activated: true 
    token:  job_expired 

於是,無處是expires_at字段集。

然而我能夠運行

symfony propel:data load task。

+0

你可以添加你的模式嗎?也許你添加了默認值?你是否能夠檢查表格並查看「required」字段中存在的值? – ManseUK 2011-05-18 16:41:11

+0

好的,我在上面編輯它。 – Tool 2011-05-18 17:16:50

回答

1

在您的另一個問題中,您引用了JobeetJob類的save方法。你可以在那裏看到expires_at在那裏被設置,除非之前手動設置 - 因此填充必填字段,所以一切都很好。

相關問題