私は5つのテーブルを持っています:
フォーム->(フィールド:id、名前)HasMany(フォーム)
フィールド->(フィールド:id、type、name、form_id)HasMany(Fvarchar、Ftext、Ftinyint)BelongsTo(フォーム)
Fvarchar->(フィールド:id、value、field_id)BelongsTo(フィールド)
Ftext->(フィールド:id、value、field_id)BelongsTo(フィールド)
Ftinyint->(フィールド:id、value、field_id)BelongsTo(フィールド)
でフォームを検索したいのですが、フォームをField[name]->Fvarchar,Ftext,Ftinyint[value]
検索しようとすると、次のような結果になります。
$this->Form->find('all',array('contain' => array('Field'=>array('Fvarchar','Ftext','Ftinyint'))
'Form' => array(
'id' => '1',
'name' => 'mobile',
'Field' => array(
(int) 0 => array(
'name' => 'bluetooth',
'type' => 'Ftinyint',
'id' => '1',
'form_id' => '1',
'Ftext' => array(),
'Fvarchar' => array(),
'Ftinyint' => array(
(int) 0 => array(
'value' => true,
'id' => '2',
'field_id' => '1'
)
)
),
しかし、Field [type]でテーブル(Ftext、Fvarchar、Ftinyint)をフィルタリングしたい:
'Form' => array(
'id' => '1',
'name' => 'mobile',
'Field' => array(
(int) 0 => array(
'name' => 'bluetooth',
'type' => 'Ftinyint',
'id' => '1',
'form_id' => '1',
'Ftinyint' => array(
(int) 0 => array(
'value' => true,
'id' => '2',
'field_id' => '1'
)
)
),
ありがとう