0

我需要一些帮助,我似乎无法在互联网上找到任何东西。

我有一个模型

public $belongsTo = array(
      'Group' => array(
          'className' => 'Group',
          'foreignKey' => 'group_id',
      ),
      'Audit_type' => array(
          'className' => 'Audit_type',
          'foreignKey' => 'audit_type',
      ),
      'User' => array(
          'className' => 'User',
          'foreignKey' => 'auditor',
      ),
  );

但我需要能够找到类似的组,因为现在在 group_id 我有多个类似的 id145,125,123

有什么办法可以用 LIKE 找到它??

更新:

表组是一个树行为表,现在是 cakephp 的树行为表有多个 id,是一个有审计的表,我需要这个审计是多个组的一部分。

4

2 回答 2

1

不要在 group_id 字段中存储多个 id!

听起来您需要 CakePHP 的Has And Belongs To Many 关系,而不是 BelongsTo 关系

但无论你做什么,都不要在一个外键字段中存储多个 id。这足以让科德心脏病发作!

于 2013-05-17T14:50:44.830 回答
0

您不应该使用“LIKE”来查找多个 ID。

改为这样做:

$this->Group->find('all', array(
    'conditions' => array(
        'id' => array('145', '125', '123')
    )
);

它将使用 MySQL 的“IN”。

于 2013-05-17T14:51:03.207 回答