2013-05-17 54 views
0

我需要一些幫助,我似乎無法在互聯網上找到任何東西。CakePHP屬於%%

我有一個模型

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我有多個ID喜歡145,125,123

有沒有什麼辦法可以找到它像LIKE?

更新:

表組是樹的行爲表,是從CakePHP的 現在有多個ID的表樹的行爲,是具有審覈表,我需要這個審計是多重的一部分組。

+1

你有沒有想過會發生什麼,如果你有一個'12'的ID和'123'之一?除非您專門構建搜索或其他內容,否則使用LIKE查找幾乎總是最後的選擇。 – Dave

+0

是的,儘管這是將多個ID存儲在單個外鍵中的最小問題。 –

+0

有沒有其他的意見呢?或者你會推薦我這樣做?我沒有選擇,我正在考慮製作另一張帶有組ID和ID的桌子 –

回答

1

請勿將多個ID存儲在group_id字段中!

而不是一個屬於關係,這聽起來像你需要CakePHP的Has And Belongs To Many relationship

但無論你做什麼,都不要將多個ID存儲在一個外鍵字段中。這將足以給Codd心臟病發作!

+0

我該怎麼做呢,因爲我真的需要這個有multime組。組表是一個樹行爲表 –

+0

,我需要它是多個grups –

+1

更新你的問題,包括你想要建模的關係的完整描述。什麼屬於一個組?並提供更多關於你想要做什麼的樹的信息。 –

0

您不應該使用「LIKE」來查找多個ID。

像這樣做,而不是:

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

它將使用MySQLs 「IN」。

+1

我想我誤解了......我想我的大腦很難接受某人會嘗試在應該是int字段中使用逗號分隔的ID列表。 – Dave