假设我使用负载从模型中提取一些内容:
$model = Mage::getModel('modulename/modelName')->load($userinfo->getId(),'user_id');
然后我希望 $model 是一个数组,其中 user_id = $userinfo->getId(),基本上返回 $userinfo->getId() 是 user_id 的所有行,目前它只返回一行,即第一行,有超过 10 行具有相同的 user_id..
那我想做
foreach ($model as $m)
$m->addData($data);
try {
$insertId = $m->save()->getId();
} catch (Exception $e){
}
所以我希望 load 方法返回多行,而不仅仅是一行。目前它仅返回一行。
编辑: 我的代码无法运行:
我的 Collection 类位于 Namespace/Modulename/Model/ModelName/Collection.php
<?php
class Namespace_Modulename_Model_Mysql4_ModelName_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
public function _construct(){
parent::_construct();
$this->_init('modulename/modelName');
}
}
我的代码:
$data = array(
'someField' => 'someValue'
);
$model_collection = Mage::getModel('modulename/modelName_collection');
$model_collection = $model_collection->addFieldToFilter('user_id', $userinfo->getId());
foreach ($model_collection as $model) {
try {
$insertId = $model->save()->getId();
} catch (Exception $e){
}
}
我想在模型中添加$data
最佳答案
您需要使用集合
$collection = Mage::getResourceModel('modulename/modelName_collection');
$collection->addFieldToFilter('user_id', $userinfo->getId());
关于php - Magento:如何加载多行而不是一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33325738/