我想在数据库表中搜索与输入值匹配的数据,当找到它时,我想选择具有最高匹配数的数据并将其保存在字段中,我使用的是cakephp。 这是我到目前为止所做的:
public function add() {
if ($this->request->is('post')) {
$data = $this->Code->find('all',array(
'conditions'=>array('Model.is_expired'=>0),
'fields'=>array('Model.words'),
));
$str = $this->request->data['Model']['words'] ;//the input value
$sort_array=array();
foreach($data as $value){
$num = similar_text($value, $str);
$sort_array[$value] = $num;
}
arsort($sort_array, SORT_REGULAR);
$res = array_slice($sort_array,0,1);
foreach($res as $key=>$value){
return $key;
}
$this->request->data['Model']['invitee_1'] = $key;
}
$this->Model->create();
if ($this->Model->save($this->request->data)) {
$this->Session->setFlash(__('The Model has been saved.'));
return $this->redirect(array('action' => 'index'));
} else {
$this->Session->setFlash(__('The Model could not be saved. Please, try again.'));
}
}
}
表格字段是: ID |话| new_word |
我想在“单词”字段中搜索与输入值(来自表单)匹配的单词,并选择具有最高匹配计数的单词,最后将其保存在表单旁边的“new_word”字段中输入将保存在“单词”字段中。