gpt4 book ai didi

php - cakephp hasone 和属于加入不工作

转载 作者:行者123 更新时间:2023-11-30 22:56:41 27 4
gpt4 key购买 nike

我有两个表:

  • users 包含(id, name, email) id为主键。

  • users_details contains (user_id, address, city, postcode) user_id 是用户表的外键。

users.id=users_details.user_id

我在User.php

中这样写了用户模型
class User extends AppModel {

public $name = 'User';
public $displayField = 'name';
public $primaryKey = 'id';
var $belongsTo = 'UsersDetail';
public $hasone = array(
'UsersDetail' => array(
'className' => 'UsersDetail',
'conditions' => '',
'fields' => '',
'foreignKey' => 'id',
'order' => '',
'dependent' => true
)
);
}

我在 UsersDetail.php 中写了 usersdetail 模型

class UsersDetail extends AppModel {

public $name = 'UsersDetail';
public $displayField = 'name';

public $belongsTo = array( 'User' =>
array( 'className' => 'User','foreignKey' => 'user_id') );

public $hasone = array(
'User' => array(
'className' => 'User',
'conditions' => '',
'fields' => '',
'foreignKey' => 'id',
'order' => '',
'dependent' => true
));
}

我想使用 join with 条件从表中获取数据。 users.id=users_details.user_id

最佳答案

您已经为每个模型关联声明了两个关系,而您应该只有一个关系。

像这样:在 userDetail 模型中:

public $hasMany = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id'

)
);

因此,在用户模型中:

public $belongsTo = array(
'UserDetail' => array(
'className' => 'UserDetail',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);

查看 documentation了解更多详情。

关于php - cakephp hasone 和属于加入不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26059559/

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