我有以下型號:資產和用戶 資產屬於關聯用戶 用戶的hasMany資產在這種情況下,多對多關係是絕對必要的嗎?
一個簡單的數據庫模型是這樣的
USER
id
name
ASSET
id
name
user_id
現在真正的問題是關於一個下載表格建模事實上,用戶可以下載許多資產和資產,可以由許多用戶下載。
在CakePHP中,這將是一個users_assets表這樣一個簡單的模型:
USERS_ASSETS (alias Downloads)
id
user_id
asset_id
但是,這是令人困惑,因爲如果你用蛋糕的烘烤功能,你必須要分配比一間的關係 更多用戶和資產之間的上述關係和新的HABTM關係:即:
assets belongsTo Users | users hasMany assets
assets hasAndBelongsToMany user | users hasAndBelongsToMany assets
爲什麼我就不能有一個表調用的關係下載:
user belongsTo downloads | downloads hasMany Users
asset belongsTo downloads| downloads hasMany Assets
DOWNLOADS:
id
user_id
asset_id
我想我不知道是否可以爲給定的一組模型定義多個關係。
哪一個是最好的選擇,以及爲什麼 - 使用users_assets表和別名下載讓蛋糕知道HABTM關係。或者,使用名爲下載而沒有HABTM關係的表更好。