如何在PHP中使用MVC从结果集中获取额外属性
我有以下结构:程序>项目>阶段 查看这些模型的“我的视图”文件是相当标准的,在视图文件中可以看到如下内容:如何在PHP中使用MVC从结果集中获取额外属性,php,model-view-controller,object,methods,model,Php,Model View Controller,Object,Methods,Model,我有以下结构:程序>项目>阶段 查看这些模型的“我的视图”文件是相当标准的,在视图文件中可以看到如下内容: <?php foreach ($programs as $p):?> <p><?php echo $p->getName()?></p> <?php endforeach?> 我的$PROGRAMES变量只是一个程序对象数组 现在,作为一个例子,让我们假设我有一个页面,它将列出带有其父项目和程序名称的阶段。我的SQL
<?php foreach ($programs as $p):?>
<p><?php echo $p->getName()?></p>
<?php endforeach?>
我的$PROGRAMES变量只是一个程序对象数组
现在,作为一个例子,让我们假设我有一个页面,它将列出带有其父项目和程序名称的阶段。我的SQL语句执行所需的联接,我的对象数组将包含程序和项目名称的属性。我已经在我的阶段模型中添加了两个方法:getProjectName()和getProgramName(),但是,我不确定这样做是否正确。如果我想在此页面上列出项目或程序的其他属性,那么我需要在阶段模型中创建一些我认为不属于那里的额外方法
有人能就如何最好地完成这类事情提供一些见解吗?谢谢。您将获得类似数组的数据,其中包含所有字段 像这样的
$programs = array(
0 =>array(
'name' => 'prog name 1',
'somefield' =>'some prog field 1',
'project' => array(
0 =>array(
'name' => 'proj name 1',
'somefield' =>'some proj field 1',
'stage' => array(
0=>array(
'name' =>'stage name 1',
'somefield' =>'some stage field 1',
),
1=>array(
'name' =>'stage name 2',
'somefield' =>'some stage field 2',
)
)
),
1 =>array(
'name' => 'proj name 2',
'somefield' =>'some proj field 2',
'stage' => array(
0=>array(
'name' =>'stage name 1',
'somefield' =>'some stage field 1',
),
1=>array(
'name' =>'stage name 2',
'somefield' =>'some stage field 2',
)
)
)
)
)
);