2
用戶可以屬於許多Company
,後者又有許多Department
。存儲在SESSION範圍內具有一對多關係的鍵值對
當用戶登錄時,我想在SESSION
範圍內存儲他所屬公司的哪個部門。
我目前做這樣(的getDepartments
查詢包含CompanyName
和DepartmentName
記錄該用戶所屬):
<cfset SESSION.Department = StructNew()/>
<cfloop query="getDepartments" group="CompanyName">
<cfloop>
<cfset SESSION.Department[getDepartments.CompanyName][getDepartments.DepartmentName] = StructNew()/>
</cfloop>
</cfloop>
如果我運行上面我得到的輸出是這樣的:
struct
NESTLE
struct
SALES - struct [empty]
struct
HR - struct [empty]
----------------------------------------------
struct
MARS
struct
LOGISTICS - struct [empty]
因此,公司內的每個部門都正在創建一個結構體。由於沒有值分配給部門名稱,它顯示爲空。
我想我這樣做是不正確的。但同樣,我不知道另一種方式將多個部門名稱分配給SESSION範圍中的單個公司名稱。
任何想法?
它唯一的那些用戶所屬。我沒有包含getDepartments查詢,但它僅包含用戶所屬的查詢! –
不管你想要什麼,你都可以存儲信息,但是這裏正確的方法都取決於你打算如何使用它。您可以將部門名稱存儲爲列表,數組或者甚至可以將其保留爲結構(儘管使用簡單的「值」)。然後使用'structKeyExists(struct.companyName,「DepartmentName」)'來確定某人是否是特定部門的成員。但是,這一切都取決於你如何最終使用信息,你沒有解釋... – Leigh