Zend将值传递给函数

时间:2012-02-16 06:59:40

标签: 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'))
            ->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);

如何将值传递给视图中的变量?     $这 - > planview(4); 这不是答案。它只显示输出的第4个数组元素。我想念什么吗?请帮忙。我必须将'4'值传递给函数plan_values。

1 个答案:

答案 0 :(得分:0)

您的4已在呼叫中使用/消费:

$planvalues->plan_values($id); // $id == 4, right?

您对$planvalues->plan_values($id)的调用似乎应该返回行的数组。 然后,您将其作为$this->view->planview分配到视图中。因此,在您的视图脚本中,$this->planview正是行数据的数组。迭代数组以渲染它们。

如果要在视图脚本中显示/使用$id值为4,请随意使用$this->view->id = $id(在控制器中)传递它,然后将其选中我们在视图脚本中使用$this->id