0

创建关系的用途是什么

 var $belongsTo = array(
        'UserType' => array(
            'className' => 'UserType',
            'foreignKey' => 'user_type_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );
    //The Associations below have been created with all possible keys, those that are not needed can be removed
    var $hasMany = array(
        'UserOpenid' => array(
            'className' => 'UserOpenid',
            'foreignKey' => 'user_id',
            'dependent' => true)
);

如果我在“hasMany”中添加了一个以“belongsTo”意义创建的表格怎么办?发生任何错误。cake 如何使用模型中指定的关系?

4

2 回答 2

1

通过将模型关联在一起,您可以告诉 CakePHP 当您使用 find() 函数时要从数据库中获取什么。例子:

posts BelongsTo users= 当您检索帖子时,您还将获得有关该帖子所属用户的数据(posts.user_id = users.id)。

于 2010-02-06T09:32:53.340 回答
0

除了 Paweł 的回答:

“belongsTo”、“hasMany”等只是用来反映数据库的设计方式以及表之间如何相互关联的术语,这些术语决定了如何检索数据。

  • belongsTo表示一对多关系,“归属”模型在“多”端
  • hasMany表示一对多关系的另一端
  • hasOne表示一对一的关系
  • hasAndBelongsToMany表示多对多的关系

具体的关系决定了哪个表持有哪个外键,以及如何JOIN自动检索表中的数据。如果您没有这方面的经验,请查看标准化。

于 2010-02-08T03:11:11.450 回答