클라우드 및 CSS 프레임 워크 트위터 부트 스트랩에 여러 데이터베이스를 사용하여 "typeahead"와 ajax를 사용하여 텍스트 필드에서의 성공을 파악하고 있습니다. 이제 모든의 keyup 이벤트 하나 아약스 호출에 불을 얻을 아래와 같이 쿼리를 발생 :어떻게하면 브라우저의 부하를 줄일 수 있습니까?
public function prod_identifier_typeahead($value) {
$db = ConnectionManager::getDataSource('incident_mgmt');
$list = $db->rawQuery('select id, identifier from products where identifier like "'.$value.'%";');
$options = array();
while ($row = $db->fetchRow()) {
$options[] = array('id' => $row["products"]["id"],'name' => $row["products"]["identifier"]);
}
$this->set('options', $options);
$this->set('_serialize', 'options');
}
모든 아약스 호출이 아약스 호출 쿼리 처리에 부하를 줄이기 위해 연결 개체를 부탁해는, 누군가가 나를 도울 수 사용?
왜 'rawQuery'를 사용하고 '모델'을 사용하지 않고 건너 뛰고 있습니까? 이렇게하면 CakePHP 프레임 워크를 전혀 사용하지 않을 것입니다. 일을 더욱 악화시키기 위해서,'$ value'는 위생적으로/도망 치지 않을 것입니다. ** 따라서 귀하의 코드는 SQL 인젝션을 위해 매우 안전하고 개방적입니다. **이 장을 매뉴얼에서 읽으십시오 : http://book.cakephp.org/2.0/en/models/retrieving-your-data.html – thaJeztah
나는 그 cakePHPs 규칙을 따르지 않는다는 것을 안다. 그러나 나는 여러 개의 데이터베이스를 가지고 있으며, 서로 통합되어있어 cakephpRUN을 무거 우며 기본값 대신 다른 데이터베이스의 데이터를 가져온다. rawQuey를 사용해야한다 ... 다른 옵션은 없다. have ... :) – Jhanvi