gpt4 book ai didi

php - HasMany 多项选择不起作用 Cakephp

转载 作者:行者123 更新时间:2023-11-29 19:19:00 25 4
gpt4 key购买 nike

您好,我正在尝试从 HasMany 中的多个表中选择数据,但它不起作用。这是我的代码

class UserInfo extends AppModel
{
public $useTable = 'user_info';
public $primaryKey = 'user_id';


public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'type' => 'RIGHT',
'fields' => array('User.user_id','User.email','User.active')
)


);
public $hasMany = array(
'UserCategory' => array(
'className' => 'UserCategory',
'foreignKey' => 'user_id',
'dependent' => true,
'conditions' => array('user_id = UserCategory.user_id')
//'order' => 'UserCategory. DESC'

)


);



public function getUserDetails($user_id){
$this->Behaviors->attach('Containable');
return $this->find('all', array(
'conditions' => array(
'UserInfo.user_id' => $user_id
),
'contain' => array(
'User', 'UserCategory.Category',

)

));

}

如果我尝试从另一个包含 user_id 的表中获取数据,如下所示

public $hasMany = array(
'UserCategory' => array(
'className' => 'UserCategory',
'foreignKey' => 'user_id',
'dependent' => true,
'conditions' => array('user_id = UserCategory.user_id')
//'order' => 'UserCategory. DESC'

),

'Skill' => array(
'className' => 'Skill',
'foreignKey' => 'user_id',
'dependent' => true


)
);

无法获取。当我运行 sql dump 时。它根本不运行查询。这意味着我无法从技能

中获取数据

最佳答案

我建议您仔细阅读 containable 的文档在 cakephp 2 中。总之,当您使用 containable 时,例如:

'contain' => array(
'User', 'UserCategory.Category',
)

您可以在其中添加所需的模型,就像您的情况一样,这会对您有所帮助:

'contain' => array(
'User', 'UserCategory.Category', 'Skill'
)

Containable 有助于根据您的要求过滤 find() 数据。

关于php - HasMany 多项选择不起作用 Cakephp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42529288/

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