【问题标题】:How to grab extra properties from a result set using MVC in PHP如何在 PHP 中使用 MVC 从结果集中获取额外属性
【发布时间】:2011-08-30 02:34:28
【问题描述】:

我的结构如下:程序 > 项目 > 阶段

用于查看每个模型的视图文件非常标准,您会在视图文件中看到类似以下内容:

<?php foreach ($programs as $p):?>
<p><?php echo $p->getName()?></p>
<?php endforeach?>

我的 $programs 变量只是 Program 对象的数组。

现在,举个例子,假设我有一个页面将列出阶段及其父项目和程序的名称。我的 SQL 语句执行所需的连接,我的对象数组将包含程序和项目名称的属性。我在我的 Stage 模型中添加了 2 种方法:getProjectName() 和 getProgramName(),但是,我不确定这是否是正确的方法。如果我想在这个页面上列出项目或程序的其他属性怎么办,那么我需要在 Stage 模型中创建一堆我认为不属于那里的额外方法。

谁能提供关于如何最好地完成这件事的任何见解?谢谢。

【问题讨论】:

    标签: php model-view-controller object methods model


    【解决方案1】:

    你会得到像数组一样的数据,包含所有字段 像这样的

    $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',
               )
             )
          )
        )
      )
    );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 1970-01-01
      相关资源
      最近更新 更多