3个表之间的关系

时间:2014-03-02 03:17:37

标签: cakephp

我对3个表之间的关系有问题。

MySQL的

  • Articles(id, title, text, author, category)

  • Category(id, name)

  • User(id, login, password)

我尝试创建CategoryController函数view()

模型我有关系hasMany

public $hasMany = array(
    'Articles' => array(
            'className' => 'Article',
            'foreignKey' => 'category'
     )
);

我得到了带有类别名称的数组,文章不起作用,但我想在文章标题下显示作者姓名。

我修复了数据库并使用了蛋糕烘焙来生成所有内容,但我仍然遇到同样的问题

var_dump($category['News'])



   array(1) {
  [0]=>
  array(7) {
    ["id"]=>
    string(1) "1"
    ["title"]=>
    string(13) "aa"
    ["short_text"]=>
    string(37) "bb"
    ["text"]=>
    string(36) "cc"
    ["date"]=>
    string(19) "2014-03-03 01:22:00"
    ["user_id"]=>
    string(1) "1"
    ["category_id"]=>
    string(1) "1"
  }
}

我需要在新闻类别视图上获取用户名

1 个答案:

答案 0 :(得分:1)

您没有关注表格名称或密钥名称的标准CakePHP conventions,如果您尝试use bake to generate your models.

,这将不会给您带来麻烦

您应该像这样设置表格:

- 文章:id, title, text, user_id, category_id

- 类别:id, name

-Users:id, login, password

正确设置表格和密钥后,cake bake会自动发现模型的组合方式,并烘焙默认视图,以便在文章标题旁边显示作者姓名。