在codeigniter中甚至有可能這樣做嗎?它被認爲是一般的良好習慣嗎?我可以將參數傳遞給模型函數嗎?
1
A
回答
2
是的,這是可能的。
我一直這樣做,如果數據不是來自後我可以發送到模型。
$this->load->model('some_model');
$this->some_model->some_function($var);
你想發送什麼樣的數據給模型?這將有助於決定這是否是不好的做法。
1
當然這是可能的!就像Kieran所說的,你可以在接受參數的模型類中編寫函數。
請記住,您的控制器應首先解析/驗證這些參數,您的模型中不應包含額外的驗證。您的模型應嚴格用於寫入和讀取數據庫。
因此,作爲一種良好的做法,您應該只傳遞包含實際數據的參數,以便在您的查詢中存儲或使用。
我通常爲不同的WHERE情況編寫不同的函數。例如:
select($id){}
select_by_name($name){}
...
這讓您的模型更容易理解。我唯一的例外是限制你的結果。在我所有的車型,我對功能選擇的所有記錄,同時可以選擇通過兩個變量爲分頁目的:
select_all($start=null,$limit=null){
$qry = "SELECT * FROM ...";
if($start != null) $qry .= " LIMIT ?,?";
return $this->db->query($qry,func_get_args());
}
相關問題
- 1. 我可以將參數傳遞給PowerShell函數Unix方式嗎?
- 2. 我可以將參數傳遞給std :: vector排序函數嗎?
- 3. 可以將可變數量的參數傳遞給函數嗎?
- 4. 我可以將類型作爲參數傳遞給此函數嗎?
- 5. 我可以將參數/開關/參數傳遞給VSPackage MenuCommand嗎?
- 6. 將參數傳遞給原型函數
- 7. 我可以將非類型模板參數傳遞給重載操作符嗎?
- 8. 我可以將參數傳遞給我的fsyacc分析器嗎?
- 9. odp.net可以將參數傳遞給布爾pl/sql參數嗎?
- 10. 我可以將異常作爲參數傳遞給python中的函數嗎?
- 11. 使用QObject :: connect時,我可以將參數傳遞給slot函數嗎?
- 12. 我可以將屬性列表作爲&鍵參數傳遞給函數嗎?
- 13. 我可以將參數傳遞給自定義log4net Appender的構造函數嗎?
- 14. 我可以將構造函數參數傳遞給Unity的Resolve()方法嗎?
- 15. 我可以將參數傳遞給客戶端HTML頁面嗎?
- 16. 我可以將參數傳遞給F#FAKE構建腳本嗎?
- 17. 我可以將參數傳遞給Pig腳本中的UDF嗎?
- 18. 我們可以將參數傳遞給C中的信號嗎?
- 19. 我可以在NHibernate中將參數傳遞給ISessionFactory嗎?
- 20. 使用Watir時,我可以將-f參數傳遞給iexplore.exe嗎?
- 21. 我可以將其他參數傳遞給Ember-Model belongsTo嗎?
- 22. 我可以將參數從Qt Creator傳遞給xcodebuild嗎?
- 23. 我可以將參數傳遞給jqModal中的ajax嗎?
- 24. 我們可以將參數傳遞給SQL中的視圖嗎?
- 25. 我可以將knife.rb作爲參數傳遞給knife命令嗎?
- 26. 我可以將參數傳遞給ClearCase觸發器嗎?
- 27. 我可以將參數傳遞給rake db:seed嗎?
- 28. 我可以使用JSF flash將參數傳遞給Servlet嗎?
- 29. 我可以將參數從Grunt傳遞給Javascript嗎?
- 30. 我可以將參數傳遞給iphone方法的clickedButtonAtIndex嗎?
這是值得商榷的模型是否應該也有輸入驗證或沒有,所以不要」不要把它當作事實。一個堅實的分層架構在各個層面都有驗證。由於不能直接在CI之外調用Model方法,因此儘管對查詢的輸入檢查仍然適用,但仍可以在Model中不重複驗證。 – Ferdy 2010-11-02 10:18:20