你好,我在【\vendor\fancyecommerce\fecshop\services\category\CategoryMongodb】getTreeArr方法中添加条件,但是一直报内存问题,加了后同样报,这是不是有问题啊。一个查询怎末会占用折磨多内存,数据又不多,代码如下
public function getTreeArr($rootCategoryId = '', $lang = '', $appserver=false, $level = 1)
{
ini_set("memory_limit","180M");
$arr = [];
if (!$lang) {
$lang = Yii::$service->fecshoplang->defaultLangCode;
}
if (!$rootCategoryId) {
$where = ['parent_id' => '0'];
} else {
$where = ['parent_id' => $rootCategoryId];
}
// $where = ['menu_show' => 1];
// $where = ['status' => 2];
$categorys = $this->_categoryModel->find()->asArray()->where($where)->all();
//var_dump($categorys);exit;
$idKey = $this->getPrimaryKey();
if (!empty($categorys)) {
foreach ($categorys as $cate) {
$idVal = (string) $cate[$idKey];
$arr[$idVal] = [
$idKey => $idVal,
'level' => $level,
'name' => Yii::$service->fecshoplang->getLangAttrVal($cate['name'], 'name', $lang),
'thumbnail_image' => $cate['thumbnail_image']?Yii::$service->category->image->getUrl($cate['thumbnail_image']):null,
'img' => $cate['image']?Yii::$service->category->image->getUrl($cate['image']):null,
'menu_show'=> $cate['menu_show'],
'status'=> $cate['status'],
];
if ($appserver) {
$arr[$idVal]['url'] = '/catalog/category/'.$idVal;
}
//echo $arr[$idVal]['name'];
if ($this->hasChildCategory($idVal)) {
$arr[$idVal]['child'] = $this->getTreeArr($idVal, $lang, $appserver, $level+1);
}
}
}
return $arr;
}
我加的条件是13行,谢谢