0

我不确定正确的标题是什么。这是我的问题:

有几种模型,例如:
公司
人(与用户不同)
用户
等。

其中一些需要附加一个或多个文件。

所以我创建了一个UploadedFile模型。如何将其链接到上述任何模型?有时UploadedFile属于Company。有时UploadedFile属于Person

如果UploadedFile属于Company,则它不属于Person等其他人。

所有UploadedFile都属于用户(因为他们上传它们,我需要跟踪是谁上传的)

HABTM 在这里有效吗?还有其他更好的方法吗?

非常感谢您的帮助。

最好的问候,
托尼。

4

1 回答 1

1

使 UploadedFile 登录到所有三个(用户、公司和个人):

var $belongsTo = array(
    'User' => array('className' => 'User','foreignKey' => 'user_id'),
    'Company' => array('className' => 'Company','foreignKey' => 'company_id'),
    'Person' => array('className' => 'Person','foreignKey' => 'person_id'));

因为它总是属于一个用户,所以 user_id 总是有一个值。

然后,您将检查是否设置了 company_id 或 person_id 并确定文件属于哪一个。我有一个像这样工作的应用程序。这有点辛苦,但我找不到任何其他解决方案

另一个好主意是尝试将 Person 和 Company 组合在一个表中,并用一个标志来区分两者。

于 2011-07-21T12:30:54.487 回答