Tha*_*anu 3 php collections magic-function magento
我有一个集合,其中包含一行数据.如果我这样做,
$collection->getData();
Run Code Online (Sandbox Code Playgroud)
它给我一个像下面的数组,
array(1) {
[0] => array(3) {
["id"] => string(1) "1"
["field1"] => string(10) "Field 1 Data"
["field2"] => string(10) "Field 2 Data"
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做时,$collection->getField1()
它说Undefined Method.据我所知,php magic getter应该像这样工作.不是吗?
任何想法如何在没有foreach构造的情况下获得此值.
Ala*_*orm 12
魔术getter和setter方法仅适用于继承自的Magento对象Varien_Object
.在模型和块的实践中.集合既不是模型也不是块.集合是一个foreach
包含0-N模型对象的能够对象.
集合的getData
方法将返回集合中每个模型的原始PHP数组.
#File: lib/Varien/Data/Collection/Db.php
public function getData()
{
if ($this->_data === null) {
$this->_renderFilters()
->_renderOrders()
->_renderLimit();
$this->_data = $this->_fetchAll($this->_select);
$this->_afterLoadData();
}
return $this->_data;
}
Run Code Online (Sandbox Code Playgroud)
您可能想要做的是从集合中获取第一个模型,然后获取其数据.
$data = $collection->getFirstItem()->getData();
$field1 = $collection->getFirstItem()->getField1();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15259 次 |
最近记录: |