2017-01-17 37 views
1

我有一個警予基本的應用,在那裏測試數據庫表ID,名稱生成列名的靜態類型的警予活動記錄

和模型

class Test extends ActiveRecord 
{ 

    //public $name; 
    //public $id; 

    public static function tableName() 
    { 
     return '{{test}}'; 
    } 
} 

當我宣佈一個$名稱/ $ Test class中的id字段。它不綁定到數據庫列名?

有什麼辦法可以申報public $ name;並獲取數據/或通過靜態打字設置數據?

Like a declare public $ name;和控制器

$test=new Test(); 

    $test->name='test2'; 
    $test->save(); //not working 
+0

它應該工作,你不工作是什麼意思? –

+0

如果您取消註釋// public $ name;這條線不工作! –

+0

是名稱和id是表列文件 –

回答

3

不得聲明ActiveRecord類相同的名稱,對應的數據庫列的屬性。

自動獲取映射屬性,並且您可以使用標準獲取者和設置者訪問它們。

如果您在您的示例中聲明屬性,則不會從數據庫中獲取屬性值。

+0

那麼如何使我的列'名稱'靜態類型? –

+0

所有映射的數據庫列都是根據數據庫架構轉換爲正確類型的公共屬性。你想實現什麼?也許我可以幫忙。通過生成編譯器建議與 – Bizley

+0

。 。我說聲明測試對象t.so t-> name =「設置數據」?並且名稱在模型中是固定的和可讀的代碼 –