php - Magento:如何加载多行而不是一行?

标签 php mysql magento

假设我使用负载从模型中提取一些内容:

    $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/

相关文章:

php - 仅从 Laravel 集合中获取特定属性

php - $_SERVER ['PATH_INFO' ] ..未定义索引 : PATH_INFO

使用 javascript/jquery 隐藏 div 的 PHP 函数

mysql - 使用一个查询创建多个表

Magento - 显示主要类别

php - 从搜索或主页或目录页面加载产品之前或之后的 magento 事件

Magento - 覆盖 "OnepageController.php"

php - Laravel 时区设置未生效

php - 在 mysqli_multiple_query() 函数之后获取数组

php - Android - PHP - WampServer - 数据库行无法更新?