我试图为模板中的循环中的一个循环创建一个带有子DataList的DataList:
public function getAllCategoriesAndEntrys(){
$categories = FitoCategory::get();
foreach ($categories as $category) {
$category->entries = $this->Items($category->ID);
}
return $categories;
}我的模板如下所示:
<% loop getAllCategoriesAndEntrys() %>
$ID $Title <br>
<% loop entries %>
------ $Title <br>
<% end_loop %>
<% end_loop %>在我的例子中,我确信:
FitoCategory::get() -返回对象类型DataList中的所有'FitoCategory‘;
$this->Items($category->ID) -返回DataList和FitoCategory的所有子条目;
我需要一个绑定代码来代替:
$category->entries = $this->Items($category->ID);发布于 2014-10-03 18:48:17
目前,查询运行没有缓存,所以每次遍历列表时都会创建新的FitoCategory对象。这意味着任何其他属性都会丢失。
相反,您希望将对象添加到ArrayList并返回该对象。
public function getAllCategoriesAndEntrys(){
$categories = FitoCategory::get();
$list = ArrayList::create();
foreach ($categories as $category) {
$category->entries = $this->Items($category->ID);
$list->push($category);
}
return $list;
}https://stackoverflow.com/questions/26182482
复制相似问题