我试图将'AbsoluteLink'属性添加到DataList中的每个DataObject,然后使用JSONDataFormatter::convertDataObjectSet()
将列表转换为JSON。SilverStripe convertDataObjectSet正在剥离其他属性
我有以下功能:
public function json() {
$data = ResourceCentreArticlePage::get()->filter('ShowInMenus', '1')->filter('ShowInSearch', '1')->sort('Created', 'DESC');
$pageArray = new ArrayList();
foreach ($data as $page) {
$page->AbsoluteLink = $page->AbsoluteLink();
$pageArray->push($page);
}
// If I dump out the content of $pageArray here the object has the AbsoluteLink property
$jsonFormatter = new JSONDataFormatter();
$jsonData = $jsonFormatter->convertDataObjectSet($pageArray);
// If I dump out the content of $jsonData here there is no AbsoluteLink property
$this->response->addHeader("Content-type", "application/json");
return $jsonData;
}
问题:
的AbsoluteLink属性通过convertDataObjectSet
方法运行$pageArray
后除去。
我错过了什么?
凡你有意见'//如果我倾倒了$ pageArray的内容在这里没有AbsoluteLink property'你的意思是,如果你倾倒了$ jsonData的评论,或者是从$ pageArray实际丢失数据你说? –
啊好拿起来,那的确是为了$ jsonData,现在就会更新。 – nickspiel