2010-02-06 54 views
0

请告诉我创作的关系就像蛋糕PHP中使用表关系

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”表中的使用情况如何? 发生任何错误。 蛋糕如何使用模型中指定的关系?

+0

你可以把你的代码示例在代码标签中吗?它会使阅读更容易。 – 2010-02-06 14:59:24

+0

好的,如果我指定喜欢这篇文章hasMany用户我无法获取用户名rite? – udhaya 2010-02-06 13:00:37

+0

我认为你说的是​​用户有很多帖子。那么在这种情况下,当你选择一个特定的用户时,你也会得到他所有的评论。 阅读有关模型协会的食谱http://book.cakephp.org/view/78/Associations-Linking-Models-Together – PawelMysior 2010-02-06 14:50:24

回答

1

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

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

0

除了帕维尔的回答是:

“属于关联”,“的hasMany”等只是术语选择以反映数据库是如何设计以及如何表相互关联的,它决定了数据如何被检索。

  • belongsTo表示一对多的关系,用“属于”的模式是在“多”方
  • hasMany表示的一对多的关系的另一侧
  • hasOne表示一对一的关系
  • hasAndBelongsToMany表示一个多到多的关系

的具体关系来确定哪个标签le保存哪些外键以及如何自动检索数据表。如果您没有这方面的经验,请调查Normalization