cakephp逗号将id分隔为外来id

时间:2014-02-13 13:58:25

标签: php mysql cakephp

如何在cakephp中使用逗号分隔的id作为外键,我的NursingHome模型具有专业化模型NursingHome.specialization_ids=2,4,7的这些ID,我希望使用单个查询的相应名称我使用此代码:

class NursingHomeextends AppModel {
public 'hasMany' => array(
        'Specialization' => array(
           'className' => 'Specialization',
           'foreignKey' => false,
           'conditions' =>  'FIND_IN_SET(Specialization.id,NursingHome.specialization_ids)',
        ),
);
}

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

首先需要为ids制作数组。

$storIds = array(2,4,7);  

然后您有两种方法来执行此查询。

<强>第一

public 'hasMany' => array(
    'Specialization' => array(
       'className' => 'Specialization',
       'foreignKey' => false,
       'conditions' => 'FIND_IN_SET(\''. $storeIds .'\',Specialization.id)',
       )
    ),
);

<强>第二

'conditions' => array('Specialization.id' => $storIds)

答案 1 :(得分:0)

我认为你可以做到以下几点:

$ListOfIds = new array(1,2,3,4);

然后在像这样的条件下使用它

'conditions' => array('Specialization.id' => $ListOfIds)