我使用的是laravel5.5和mysql。如果不添加 subCategoryID
列到 Services
table。
目前这是我的表结构
服务类别
id, name
1, Legal Services
2, Personal Drivers
服务子类别
id, ServiceCategoryID, name
1, 1, US Legal Services
2, 1, Europe Legal Services
3, 1, Canada Legal Services
服务
id, serviceCategoryID, name
1, 1, US Legal Services Comapny INC
2, 1, Canada Legal Services Company INC
3, 2, JSY Personal Drivers
4, 2, XYZ Personal Drivers
一个服务必须至少有一个服务类别,但也可以有0个或多个子类别
如您所见,私人司机没有子类别,但法律服务有许多子类别。当用户选择“美国法律服务”时,我只想把它们拉上来。我可以很容易地添加一个 subCategoryID
列到 Services
但在未来我可能会有子类。组织我的table的最好方法是什么?
1条答案
按热度按时间qyyhg6bp1#
如果需要获取服务的所有子类别,可以使用以下关系:
服务模式
类别模型
获取服务id 1的所有子类别:
或者如果您需要从类别中获取服务及其所有子类别:
类别模型
服务模式
并获取类别id 1的所有子类别:
更新
你也可以用关系-有很多通过
https://laravel.com/docs/5.7/eloquent-relationships#has-许多通过