任何人都有任何想法......有15个地方这个函数被调用,每次点击它似乎是问题,它通过函数但序列化的长度:
echo“长度序列化:”。的strlen(序列化($这 - > _items));
大约8000长。
public function getItemsCollection($useCache = true)
{
if (is_null($this->_items)) {
$this->_items = Mage::getModel('sales/quote_item')->getCollection()
->addFieldToFilter("quote_id", $this->getId())
;
#$this->_items->setQuote($this);
}
echo "Length serialized: " . strlen(serialize($this->_items));
exit;
return $this->_items;
}
答案 0 :(得分:1)
在我看来,物品对象中有一些奇怪的东西。就像它的一个成员有一个大的对象绑在它上面。我知道我在向会话对象保存地址时遇到了问题。也许你正在做的事情就是附加一个错误的大对象。您可以执行以下操作来获取原始sql并在数据库上运行它以查看返回的内容
public function getItemsCollection($useCache = true)
{
if (is_null($this->_items)) {
$this->_items = Mage::getModel('sales/quote_item')->getCollection()
->addFieldToFilter("quote_id", $this->getId())
;
#$this->_items->setQuote($this);
}
echo (String)Mage::getModel('sales/quote_item')->getCollection()->getSelect();
exit;
return $this->_items;
}
答案 1 :(得分:0)
当我使用Magento进行编码时,我遇到了相同的问题,它与递归相关联,尝试使用var_dump()而不是echo()