我如何在cakephp中使用逗号分隔的id作为外键,我的NursingHome模型具有这些Specialization Model 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)',
        ),
);
}


有什么方法可以做到这一点吗?

最佳答案

首先需要为ID制作数组。

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


然后,您有2种执行此查询的方法。

第一:

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


第二

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

09-30 16:52