我正在使用 CodeIgniter 并有三个表和一个模型:
- 用户 - 用户表
- 产品 - 产品表
- UserProduct - 显示哪些用户拥有哪些产品的表(两个外键列和一些其他列,例如日期)
在我的代码中,我想为特定用户显示一个列表,显示他们拥有哪些产品。因此,我在 UserProduct 类中有一个方法,它对与 userId 匹配的 UserProduct 表进行选择,并通过一个连接来引入我需要的关于每个产品的所有数据。
这很好用,但我现在担心我正在走紧耦合的道路。例如,假设我想找出产品图片的 URL。我在产品模型中有一个方法来返回它,我不想在 UserProduct 模型中使用重复的方法,并且我不想通过让 UserProduct 模型尝试访问其他模型中的方法来创建耦合(我不要认为 CodeIgniter 喜欢你这样做)。
此问题似乎可能发生在访问具有外键的数据库表的任何模型中,其中该模型可能需要来自父表的数据并希望对其进行操作。
是否有一个优雅的解决方案,或者我是否需要接受外键必然会在模型中创建耦合或需要跨模型的类似方法?
TIA,菲尔。