簡體   English   中英

Kohana 3.3表結構

[英]Kohana 3.3 table structure

我在Kohana 3.3中有一個簡單的crud應用程序,有幾種不同類型的數據或模型。 假設這些模型是:

  • 用戶
  • 地點
  • 技能

我為每個模型都有一個表格,但這些表格之間沒有任何關系。 我一直試圖定義與ORM的關系,但我仍然感到困惑。 舉個例子:

我有很多地方。 每個位置都有很多用戶。

我知道我可以用以下內容來定義:

class Model_Location extends ORM {

    /**
     * A location has many users
     *
     * @var array Relationships
     */
    protected $_has_many = array(
        'users' => array('model' => 'user'),
    );

}

據我了解,我可以通過引用用戶表中行的父位置ID來連接這兩者。 但是,如果每個用戶都屬於許多位置怎么辦? 我應該將序列化數據存儲在外鍵中嗎? 我應該創建一個“查找表”嗎? 如果是這樣,它應該怎么樣?

例如,我如何查詢數據庫中的某個位置以及附加到該位置的所有用戶? ORM甚至是用於此類事情的正確技術嗎?

您正在尋找through參數,看看文檔

您需要一個額外的表來存儲兩個模型的ID

table users_locations ,fields: user_idlocation_id (當然都是索引的)

在你的模型中:

protected $_has_many = array(
    'users' => array(
        'model' => 'user'
        'through' => 'users_locations',
    ),
);

反之亦然用戶模型:

protected $_has_many = array(
    'locations' => array(
        'model' => 'location'
        'through' => 'users_locations',
    ),
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM