【CakePHP】複雑なキーワード検索のconditions

(投稿時のバージョン:CakePHP 1.3.6)

願望
テキストボックスに『k(空白)e』と入力すると、
下のテーブルの『name』、『detail』、両方のフィールドを検索し、
『k』も『e』も含む行、すなわち<『kirumin』と『ken』が
結果として帰ってくるようなconditionsを自動生成したい。


DBテーブル名:zoo

namedetail
kiruminanime
rikogirl
kenboy

find('all', array('conditions'=> ??? ));


conditionsの完成形
name,detailどちらかに『k』を含み、かつ、
name,detailどちらかに『e』を含む。

$conditions = array(
'AND'=>array(
array(
'OR'=>array(
'Zoo.name LIKE'=>'%k%',
'Zoo.detail LIKE'=>'%k%'
)
),
array(
'OR'=>array(
'Zoo.name LIKE'=>'%e%',
'Zoo.detail LIKE'=>'%e%'
)
)
)
);


PHPで自動生成する
キーワードや検索するフィールドがいくつ増えても
対応できるconditionsを作ります。


キーワードとフィールド、どちらも配列の形で情報を
保持しているものとします。


【コントローラ】
$conditions = array();
foreach($keywords as $i=>$keyword){
foreach($fields as $field){
$field = "Zoo.$field";
$conditions['AND'][$i]['OR']["$field LIKE"] = "%$keyword%";
}
}
$data = find('all', array('conditions'=>$conditions));