我正在尝试创建“视图”或一个函数,该函数将通过给定表中的列和表数据本身来构建 HTML 表。这将是 Yii 中的 renderPartial 方法调用的页面。我想象做这样的事情(将使用伪代码进行演示):
void view(array $cols, array $tabledata)
{
//$tabledata will be an array of CActiveRecord objects. $cols is an array of strings from getColumnNames().
<table><thead><tr>
foreach($cols as $col)
{
<th>$col</th>
}
</tr></thead><tbody>
foreach($tabledata as $data)
{
<tr>
foreach($cols as $col)
{
<td>$data->$col</td>
}
</tr>
}
</tbody></table>
}
但是我遇到的问题是我无法获得关系的列。我找到了http://www.yiiframework.com/doc/api/1.1/CDbTableSchema但这似乎只为您提供特定表的列名。我需要一种方法来获取使用关系生成 HTML 表时使用的所有列。或者,如果有人有更好的方法,请告诉我。谢谢!
编辑:作为说明,我不使用 CGridView 的原因包括我在下面列出的那个,是我不想知道列是什么或数据。我希望能够只使用代码来构建表格。