Zend framework Zend将值传递给函数

Zend framework Zend将值传递给函数,zend-framework,Zend Framework,我在模型中编写了一个函数: public function plan_values($id) { echo $id; $db = Zend_Db_Table::getDefaultAdapter(); $select = $db->select() ->from(array('h'=>'hosted_site_content'),array('h.hsc_value','h.hsc_plan')) -&

我在模型中编写了一个函数:

public function plan_values($id)
{
    echo $id;
    $db = Zend_Db_Table::getDefaultAdapter();
    $select = $db->select()
              ->from(array('h'=>'hosted_site_content'),array('h.hsc_value','h.hsc_plan'))
            ->joinLeft(array('m'=>'hosted_plan_content_mapping'),'h.hsc_type=m.hpcm_type_id')
            ->where('m.hpcm_type_id="'.$id.'"')
            ->order('h.hsc_plan asc');

    $row = $db->fetchAll($select);



    if (!$row) 
    {
        throw new Exception("Could not find row $id");
    }
    return $row;
}
并将其控制器编写如下:

$planvalues = new Application_Model_DbTable_PlanList();
$this->view->planview = $planvalues->plan_values($id);
如何将值传递给视图中的变量? $this->planview4; 这不是答案。它只显示输出的第四个数组元素。我错过什么了吗?请帮忙。我必须将“4”值传递给函数计划值。

您的4已在调用中使用/消耗:

$planvalues->plan_values($id); // $id == 4, right?
看起来对$planvalues->plan\u values$id的调用应该返回一个行数组。 然后将其作为$this->view->planview分配到视图中。因此,在视图脚本中,$this->planview正是行数据的数组。在数组上迭代以渲染所有对象


如果您想在视图脚本中显示/使用$id值4,请在控制器中使用$this->view->id=$id传递它,然后在视图脚本中使用$this->id为我们拾取它。

您的4来自哪里?您的问题不完整,代码看起来很好。您可以通过$this->planview[index]访问视图中的行数组嗨,大卫,实际上我必须将值4从视图传递给控制器。然后该Id值将传递给plan_values函数,并根据传递的Id值返回结果。我如何在viewAaah中传递值,现在我想我明白你的意思了。听起来好像有一个页面有一个包含id=4的链接。然后,另一个页面将显示调用计划值4的结果。如果是这样,那么问题是如何在第一页上呈现带有id参数的链接,以及如何在接收页上拾取该id参数。简短回答:链接类似于。然后使用$id=$this->_getParam'id';在接收控制器中获取参数值;。对但我不是通过url来做这件事的。我还有一个功能。该函数根据某个动作推送一个值。这个推送结果我必须拉入这个函数。在这种情况下_getParam无法使用。这就是我的问题,其他操作返回一个数字?没有布局?没有页面渲染?听起来您需要将该操作的处理过程重构为一个组件,您可以在该操作和问题的操作中使用该组件。