【发布时间】:2014-02-28 22:32:37
【问题描述】:
我有一个项目表、一个类型表和一个部门表。我需要选择所有项目,这很容易,但我想按部门和类型对它们进行排序,然后按其类型和部门的标题按顺序显示它们。
我想先按部门“列”值对它们进行排序(网页上会有 3 列)。然后按每个列的“Order”值对每列中的部门进行排序。然后按“CreatedDate”(与第一个添加项目的创建日期相同)对每个类型进行排序。然后按该项目的“CreatedDate”对每个类型下的每个项目进行排序。
再次,我可以轻松地从部门中选择 *,然后 foreach 选择类型,然后 foreach 选择项目,但是当我有数千个项目时,它会变得混乱和缓慢。
表格:
Items - Id, Type_Id, Title, CreatedDate
Types - Id, Department_Id, Title, CreatedDate
Departments - Id, Title, Column, Order
示例数据:
Items
1 - 1 - "Apple" - 05/29/2010
2 - 2 - "Corn" - 05/28/2010
3 - 1 - "Orange" - 05/27/2010
4 - 3 - "Beef" - 05/22/2010
5 - 4 - "Screwdriver" - 05/22/2010
6 - 4 - "Hammer" - 05/23/2010
7 - 1 - "Banana" - 05/24/2010
8 - 5 - "Lamp" - 05/22/2010
9 - 6 - "Fork" - 09/26/2013
10 - 6 - "Spoon" - 09/27/2013
Types
1 - 1 - "Fruit" - 05/24/2010
2 - 1 - "Vegetable" - 05/28/2010
3 - 1 - "Meat" - 05/22/2010
4 - 2 - "Handtools" - 05/22/2010
5 - 4 - "Lighting" - 05/22/2010
6 - 3 - "Utensils" - 09/26/2013
Departments
1 - "Food" - 1 - 1
2 - "Tools" - 2 - 1
3 - "Kitchen" - 3 - 2
4 - "Living Room" - 3 - 1
这将在 div 或表格的实际列中显示如下:
第 1 列
食物
-
肉类
- 牛肉
-
水果
- 香蕉
- 橙色
- 苹果
-
蔬菜
- 玉米
第 2 列
工具
-
手工工具
- 螺丝刀
- 锤子
第 3 栏
客厅
-
照明
- 灯
厨房
-
餐具
- 分叉
- 勺子
【问题讨论】:
-
那么,你在为哪一部分苦苦挣扎?