有問題,甚至可能在創建CakePHP組件時遇到問題。基本上,我需要實現幾個quesries,可以在我的佈局中隨處訪問(邊欄統計等)。CakePHP:組件中的查詢?
當我嘗試在組件中查詢時,出現了有關在非對象上調用函數的錯誤。
該死的,有人能解釋我這一個嗎?
乾杯!
有問題,甚至可能在創建CakePHP組件時遇到問題。基本上,我需要實現幾個quesries,可以在我的佈局中隨處訪問(邊欄統計等)。CakePHP:組件中的查詢?
當我嘗試在組件中查詢時,出現了有關在非對象上調用函數的錯誤。
該死的,有人能解釋我這一個嗎?
乾杯!
你在做這樣的事嗎?
class MyComponent extends object {
function startup(&$controller) {
$this->controller = $controller; // Stores reference Controller in the component
}
function common() {
$data = ClassRegistry::init('MyModel')->myQuery(); // Call the query on the model
$this->controller->set(compact('data')); // Sets data from myQuery in view
}
}
+1這個解決方案比我更好,因爲它不僅加載模型,但其實例化。當我提供自己的答案時,我忘記了這一點。 – 2010-01-17 21:01:00
聖母!這就是我要的!非常感謝! – Johannes 2010-01-18 15:15:07
冒着聽起來迂腐的風險,你會違反MVC非常嚴重的做到這一點。如果您沒有問題,則可以使用App::import()
從應用程序的任何位置加載任何模型(http://book.cakephp.org/view/531/Importing-Controllers-Models-Components-Behaviors-)。
如果你有興趣嘗試保留MVC結構,我們也許能夠幫助你需要在通用的方式運行的查詢一些信息。
我可以用確切的錯誤,或代碼中錯誤源自於) – 2010-01-17 19:30:08