【发布时间】:2015-02-21 10:58:16
【问题描述】:
我目前正在开发一个包含一些用户数据的 web 应用程序。我有以下表格:
users - 包含基本的用户数据。 userdata - 包含大量关于用户的不同信息。 userdatatype - 包含不同用户数据的定义。
在 CakePHP 中,我在用户模型中使用 hasMany 关联来检索用户数据信息(工作正常),在用户数据模型中,我想使用 hasOne 关联来检索相应的用户数据类型信息。但这不起作用,因为 userdatatype 显然没有 userdata_id,因为它是 userdata 的定义。
我尝试在 hasOne 关联中将 foreignKey 设置为 false 并使用条件 'Userdatatype.id => ??' 但我不知道如何访问该实例。我如何将这些模型链接在一起而不会在我的代码中产生太多开销?
我真的需要遍历 userdata 数组并手动建立连接吗?
public $hasOne = array(
'Userdatatype' => array(
'className' => 'Userdatatype',
'foreignkey' => false,
'conditions' => array('Userdatatype.id' = WHAT DO I SET HERE?)
)
);
【问题讨论】:
-
你为什么不遵循 cakePHP 的命名约定和你自己的约定? Lemme 告诉您,随着您的项目越来越大,您将花费
Most时间来做补丁,就像您根据问题在代码中所做的那样。请阅读 Cakephp 自己提供的书,有趣的是它是免费的,book.cakephp.org/2.0/en/index.html.. -
你再次部分回答了你自己的问题,
userdatatype obviously has no userdata_id as it is the definition for the userdata,然后在 userdatatype 表中有 userdata_id。