2008-12-19 75 views
0

假設您將類的實例存儲在關係表中。你將如何去堅持該類的靜態屬性?例如:在關係數據庫中存儲靜態(類)屬性

class WebSiteUser { 
    private static $common_homepage_content; 
    private $username; 
    private $password_hash; 
    ... 
} 

對應:

CREATE TABLE web_site_users 
(
    username character varying(100) NOT NULL, 
    password_hash character varying(40) NOT NULL, 
    ... 

哪裏$common_homepage_content走呢?

+0

您使用的是什麼ORM? – 2008-12-19 10:31:53

回答

1

那麼,如果你想堅持的變量只是static我必須假設將有很多用戶(WebSiteUser)與$common_homepage_content相同。在這種情況下,你應該在db中爲該屬性創建一個新表,因爲它是一個1-> N的關係。

2

由於靜態變量對類有意義,但不在實例級別上,因此它不能進入​​具有實例變量的表內。在你創建的表中,可以有多個用戶名字符和相應的password_hashes,但是在每個記錄中放置common_homepage_content將是數據的重複。您可以將common_homepage_content放在單獨的表中,並從第一個表中的每條記錄中引用它。