我有以下结构:程序>项目>阶段
我用来查看这些模型的视图文件是非常标准的,你会在视图文件中看到如下内容:
<?php foreach ($programs as $p):?>
<p><?php echo $p->getName()?></p>
<?php endforeach?>
我的$programs变量只是一个Program对象数组。
现在,作为一个例子,假设我有一个页面,它将列出其父项目和程序的名称的阶段。我的SQL语句执行所需的连接,我的对象数组将包含Program和Project名称的属性。我已经添加了2个方法到我的阶段模型:getProjectName()和getProgramName(),但是,我不确定这是否是正确的方法去做这件事。如果我想在这个页面上列出项目或程序的其他属性,那么我需要在Stage模型中添加一堆我认为不属于那里的额外方法。
谁能提供一些关于如何最好地完成这类事情的见解?谢谢。
你会得到数据像数组的一切字段像这样
$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',
)
)
)
)
)
);