首先,我想只是在那裏,我是一個ORM noob。我從來沒有在我的生活中使用過ORM,並且在我的日常開發中達到了一個要點,我需要做一些瘋狂的高級關係,因爲我使用Codeigniter時,我相信Datamapper Overzealous Edition可以幫助我。Datamapper(Overzealous Edition),Codeigniter和有很多說明
在我的數據庫中,我有以下表格;
用戶
項目
客戶
任務
這裏是表之間我想要的關係;
- 用戶可以屬於許多項目。
- 一個項目可以有多個任務,但只能有一個客戶端。
- 客戶可以有很多的用戶,可以有很多項目
- 任務只能有一個項目
我試圖建立我的模型到模型目錄,因爲它在文檔中表示,模型名稱沒有結束,所以對於用戶我有一個user.php模型等等。
我知道文檔很棒,但我似乎無法正確理解它,即使它顯然非常簡單。我知道你通過例如$ u = new User()來實例化模型。在你的控制器內部,但我的問題是設置模型內部的關係。
如何讓我的模型具有上述關係,例如,當我獲取任務時,我可以看到它屬於哪個項目以及來自其關聯數據庫表的一整堆信息。
我注意到,在文檔中,您可以在項目模型中使用以下內容,它應該告訴它它可以爲一個項目提供多個任務; var $has_many = array('task')
難道這就是它的全部嗎?它與定義$ has_many和$ has_one變量並將相關的模型名稱放入數組一樣簡單嗎?
儘管它們都是不同的ORM,但我認爲它們在如何訪問表格和檢索相關字段數據方面共享相似的語法。我想所有的ORM都遵循相同的方法將數據庫錶轉換爲對象,無論使用哪種ORM,底層方法都是一樣的。 其他人蔘考的Datamapper是用Ruby編寫的,但是我正在使用它的PHP實現。感謝您的幫助,我只需要保證並意識到我理解文檔。 – 2010-08-17 23:48:27