2013-02-05 29 views
1

我想創建一個通用的CActiveRecord,它可以在任何表中操作。我加個班memeber $table和覆蓋tableName()Yii framework CActiveRecord

public function tableName() 
{ 

    return $this->table; 

} 

在最後一步我覆蓋了C-TOR:

public function __construct($table , $scenario = 'insert') 
{ 

    $this->table = $table; 
    parent::__construct($scenario); 

} 

的CActiveRecord的C-TOR調用tableName(),所以我們必須定義表名在打電話之前。

我敢肯定這會工作得很好,但在嘗試創建我的類的實例時,我得到一個404 Not Found

$foo = new Foo('table_foo'); 

Yii中未顯示任何錯誤,PHP都不是,只是一個404錯誤。 ..如果我刪除這條線的應用程序工作完美...

+0

什麼是確切的404消息? –

+0

'404 Not Found nginx/0.7.62' – Kolyunya

+0

所以你沒有得到yii的404頁面,但是你得到了nginx 404頁面? –

回答

1

如果你有nginx 404它的不是 yii問題。檢查你的重寫規則。也許,當你有應用程序錯誤時,會發生一些導致404錯誤的重定向?

此外,我認爲你不應該ovveride ctor那樣。你在開始的時候添加了參數,所以一些內部instatiation可能會通過insert作爲第一個參數,這將在你的情況下作爲表名!

相關問題