我剛剛意識到我可能沒有遵循關於MVC模式的最佳實踐。將sql結果傳遞到視圖將數據庫列名硬編碼視圖
我的問題是,我的觀點「知道」我的數據庫信息
這裏是我的僞代碼的情況...
我控制器從我的模型調用方法並將它直接傳遞到視圖
view.records = tableGateway.getRecords() // gets array of records
view.display()
在我看來
each records as record
print record.name
print record.address
...
在我的v我有記錄。 名稱和記錄。 地址,這是硬編碼到我的數據庫的信息。這不好嗎?
除了迭代控制器中的所有內容並基本上重寫記錄集合之外,還有其他什麼方法。這似乎很愚蠢。
感謝
編輯
這裏有一個實際的視圖
<?php foreach($categories as $category): ?>
<tr>
<td><?php echo $category['name'] ?> </td>
<td><?php echo $category['fields'] ?> </td>
<td><?php echo $category['records'] ?></td>
<td><a href="/category/view/<?php echo $category['id'] ?>/<?php echo url::title($category['name']) ?>/">View</a></td>
</tr>
<?php endforeach; ?>
所以,通過數據的簡單循環將無法正常工作,我需要捕獲SQL結果的某些領域在我看來, 。
有沒有辦法解決這個問題?它讓我感到骯髒。
我實際上使用kohana。我保持問題語言不可知,希望得到更多答覆。顯然它不起作用。我更新了我的問題......謝謝 – Galen 2010-04-17 14:57:14
我不知道Kohana,但仍然...我的觀點是有一些幫助函數,將獲得數據源和第二個參數的某種提示源的元素應該是顯示。 – eyescream 2010-04-18 12:11:44
似乎有點「髒」。我開始認爲可能沒有一種「乾淨」的方式來做到這一點。 – Galen 2010-04-18 18:01:36