[英]Joomla 2.5 MVC Model prepareTable function
在開發MVC組件時,我遇到了以下問題:在保存default.php中發布的數據之前,如有必要,應修改一些數據。 據我所知,到目前為止,特定模型中受保護的Function prepareTable(&$ table)應該滿足我的需求。 我從一個非常簡單的方法開始,如下所示:
protected function prepareTable(&$table){
$table=$this->getTable();
$table->image="HelloWorld";
}
我的期望是,在提交模板后,我的表中的特定字段現在具有值“HelloWorld”,但事實並非如此。
也許,有人可以給我一個如何處理prepareTable()函數的建議?
謝謝
如果其他所有設置都正確,則prepareTable(&$table)
方法已經將表對象傳遞給它。
通常,類中的prepareTable()
不會是getTable()
,因為您替換了傳入的$table
,該$table
已經綁定了行數據。 通過更換它,您可以有效地與已經完成的工作分離。
我會刪除你的方法看起來像這樣的行:
protected function prepareTable(&$table){
$table->image="HelloWorld";
}
如果你看一下Joomla核心文件中最簡單的prepareTable()
實現,在com_banners
你會看到與你的方法非常相似的東西;
/**
* Prepare and sanitise the table data prior to saving.
*
* @param JTable A JTable object.
* @since 1.6
*/
protected function prepareTable(&$table)
{
$table->name = htmlspecialchars_decode($table->name, ENT_QUOTES);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.