我对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"
}
}
我需要在新闻类别视图上获取用户名
答案 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
会自动发现模型的组合方式,并烘焙默认视图,以便在文章标题旁边显示作者姓名。