add*_*add 1 file-upload object silverstripe
我有一个简单的任务,我似乎无法弄清楚.在SS3中,如何将文件附加到我的数据对象,或者换句话说,创建文件上载字段,并将该文件对象绑定到数据对象.见下面的例子:
class myDataObject extends DataObject{
public static $db = array(
'Title' => 'Varchar',
'Desc' => 'Text',
'Help Text' => 'HTMLText',
// 'File Upload (document)' => ???
);
}//class
Run Code Online (Sandbox Code Playgroud)
注意:现在我只想做一个文件,但后来,在另一个对象上我想做多个文件.
文件无法在$ db中设置,但在$ has_one中,因为它与另一个DataObject有关.
所以你需要:
private static $has_one = array(
'FileUpload' => 'File'
);
Run Code Online (Sandbox Code Playgroud)
我不认为$ db或$ has_one键中的空格和括号是个好主意,因为它们用于数据库字段.如果要为scaffolded字段设置标题,请使用$ field_labels.
private static $field_labels = array(
'Title' => 'My fancy title',
'Desc' => 'Description',
'has_one_FileUpload' => 'File upload (document)'
);
Run Code Online (Sandbox Code Playgroud)
如果你想要多个文件,你需要将它定义为$ has_many而不是$ has_one.
有关详细信息,请参阅http://doc.silverstripe.org/framework/en/tutorials/5-dataobject-relationship-management.