gpt4 book ai didi

mysql - Cakephp模型关系

转载 作者:行者123 更新时间:2023-11-29 14:58:55 24 4
gpt4 key购买 nike

我有两个表用户位置

用户有 id(主要)和位置字段/列

位置有 ID(主要)和城市列

现在我希望将 user.location 与 location.city 关联这两个表考虑到城市不是主键而是唯一的,我该怎么做呢?我正在使用 cakephp 1.2。

另外在mysql中我可以关联/连接没有主键但有唯一键的表

最佳答案

无论是在模型中还是通过动态绑定(bind),您都可以创建具有非主键的联接,如下所示

public $hasOne = array(
'RelatedModel' => array(
'className' => 'RelatedModel',
'foreignKey' => false,
'conditions' => array(
'`MainModel`.`random_field` = `RelatedModel`.`some_field`'
)
)
}

诀窍是将foreignKey设置为false,这样cake就不会尝试任何事情,然后手动设置条件,还要注意字段被转义并在一个字符串中,如下所示

'`MainModel`.`random_field`' => '`RelatedModel`.`some_field`'

会输出

SELECT ..... FROM ... LEFT JOIN ... ON (`MainModel`.`random_field` = '`RelatedModel`.`some_field`')

它将尝试连接 == 'RelatedModel.some_field'(实际字符串)的行

关于mysql - Cakephp模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3814862/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com