我在 Kohana 3.3 中有一个简单的 crud 应用程序,其中包含几种不同类型的数据或模型。假设这些模型是:
- 用户
- 地点
- 技能
我为这些模型中的每一个都有一个表格,但这些表格彼此之间没有任何关系。我一直在尝试定义与 ORM 的关系,但我仍然感到困惑。举个例子:
我有很多地方。每个位置都有许多用户。
我知道我可以用以下方式定义:
class Model_Location extends ORM {
/**
* A location has many users
*
* @var array Relationships
*/
protected $_has_many = array(
'users' => array('model' => 'user'),
);
}
据我了解,我可以通过从用户表的行中引用父位置的 ID 来连接两者。但是,如果每个用户可以属于多个位置怎么办?我应该将序列化数据存储在外键中吗?我应该创建一个“查找表”吗?如果是这样,它应该是什么样子?
例如,我如何在数据库中查询某个位置以及所有附加到该位置的用户?ORM 甚至是用于此类事情的正确技术吗?