在SilverStripe中保存has_many记录

Wil*_*ill 1 silverstripe

我有一个很多DebatePage票:

static $has_many = array(
    'Votes' => 'Vote'
);  
Run Code Online (Sandbox Code Playgroud)

和相应的 Vote DataObject

static $belongs_to = array(
    'DebatePage' => 'DebatePage'
);
Run Code Online (Sandbox Code Playgroud)

当用户点击"是"时,我想保存该页面的投票.

那是什么语法?

我想做这样的事情:

$this->dataRecord->Votes()->add($array('motion' => true));
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

col*_*mba 7

类似于@ 3dgoo所写的但使用不同的语法,利用::create():

$vote = Vote::create(array(
    'Motion' => true
));
$this->Votes()->add( $vote );
Run Code Online (Sandbox Code Playgroud)

这意味着你DebatePageVote关系被称为投票.$belongs_to仍然需要改为$has_one相关.