CakePHP关联不能使用userdata和userdatatype

我目前正在开发一个包含一些用户数据的webapp。 我有以下表格:

用户 - 包含基本的用户数据。 userdata - 包含有关用户的大量不同信息。 userdatatype - 包含不同用户数据的定义。

在CakePHP中,我使用用户模型中的hasMany关联来检索用户数据信息(这很好),在用户数据模型中,我想使用hasOne关联检索相应的userdatatype信息。 但是这不起作用,因为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?)
    )
);

Tables: users, userdatas, userdatatypes.

users -> id, email, name etc.
userdatas -> id, user_id, data1, data2, data3 etc.
userdatatypes -> id, userdata_id, type

**Model User.php :** 

    public $hasMany = array('Userdata');

**Model Userdata.php :**

    public $belongsTo = array('User');
    public $hasOne = array('Userdatatype');

**Model Userdatatype.php :**

    public $belongsTo = array('Userdata');

如果我正确地理解了这个问题,这应该将你的模型链接在一起。

链接地址: http://www.djcxy.com/p/64891.html

上一篇: CakePHP Association is not working with userdata to userdatatype

下一篇: HasMany Through multiple entries